Задача 242 на Pascal
Дан одномерный массив чисел. Определить в нем два элемента, среднее арифметическое которых ближе всего к заданному числу N. Число N вводится с клавиатуры.
const
max=5; {всего эементов массива} var
a:array[1..max]of integer; {массив чисел }
b,c:integer; {номера двух элементов } N,sred,tmp:real; {среднее значение двух элементов} i,j:integer; {для цикла}
BEGIN
randomize;
for i:=1 to max do a[i]:=random(9); {загрузить массив чисел}
writeln('Исходный массив:');
for i:=1 to max do write(' ',a[i]);
writeln;
write('Введите N: ');
readln(N);
sred:=9999; {ЦИКЛ }
for i:=1 to max-1 do
for j:=i+1 to max do
begin
tmp:=(a[i]+a[j])/2; {текущее среднее значение } if ABS(N-tmp)<ABS(N-sred) then {если ближе к N, то }
begin
sred:=tmp; {сохранить его } b:=i; c:=j; {запомнить номера элементов} end; end; {КОНЕЦ ЦИКЛА}
writeln;
writeln('sred=(a[',b,']+a[',c,'])/2 = (',a[b],'+',a[c],')/2 = ',sred:3:1);
readln;
END.
|