Решенные задачи на языке Паскаль
Условие задачи - из "гостевой книги".
Дан одномерный массив чисел. Определить в нем два элемента, среднее арифметическое которых ближе всего к заданному числу 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.Скачать исходник