Дожили, решение ищет владельца
| Код | program SrArifm; const n=5;{кол-во эл-ов в массиве} type TArr=array[1..n] of integer;{описание массива} procedure InputArray(var Arr:TArr); {ввод массива} var i:integer; begin writeln('Please enter array with ',n,' elements:'); for i:=1 to n-1 do read(Arr[i]); readln(Arr[n]); end; procedure PrintArray(var Arr:TArr); {печать массива} var i:integer; begin for i:=1 to n-1 do write(Arr[i],' '); writeln(Arr[n]); end; procedure PrintResult(var Arr:TArr;x:real); {печать результата} var i,j,index1,index2:integer;{index1,index2-индексы эл-ов ответа} SA,tmp:real;{SA-модуль min разницы среднего арифметического и x, tmp-модуль разницы среднего арифметического и x} begin index1:=1; index2:=2; SA:=abs((Arr[index1]+Arr[index2])/2-x); for i:=1 to n do for j:=i+1 to n do begin tmp:=abs((Arr[i]+Arr[j])/2-x); if tmp<SA then{если новая разница - лучше} begin SA:=tmp; index1:=i; index2:=j; end; end; writeln('Raznica=',SA:5:2); writeln('First number is ',Arr[index1]); writeln('Second number is ',Arr[index2]); end; var Arr:TArr; x:real; begin InputArray(Arr); writeln('Source array:'); PrintArray(Arr); writeln('Please enter x:'); readln(x); PrintResult(Arr,x); readln; end.
| |