Моя версия такая:
program pr1;
var
i,n:integer;
min:double;
A: array[0..29] of double; {массив 30 числел}
BEGIN
writeln('Введите вещественное число'); {вводим и распечатываем очредное число, делаем это 30 раз}
for i:=0 to 29 do
begin
read(A[i]);
write(A[i]:0:2,' ');
end;
min:=1000;
for i:=0 to 29 do {ищем номер и значение того числа, которое наиболее близко к какому-нибудь целому числу}
begin
if(abs(A[i]-round(A[i])) < min) then
begin
min:=abs(A[i]-round(A[i]));
n:=i+1;
end;
end;
i:=n-1;
writeln(' '); {выводим результаты}
writeln('Число ',A[i]:0:2);
writeln('Номер числа ',n);
Все бы ничего, но раскритиковали эту работу, сказав, что нужно обойтись без массива вообще.
Сообщение отредактировано: retenr -