ОМ
Оксана Максименко

Доброго времени суток! Найдите пожалуйста ошибку:

uses crt;

var

i:integer;

N,R:integer;

J:integer;

a: array [1..10] of integer;

begin

writeln('Введите R');

readln(R);

writeln('Введите N ');

readln(N);

for i:=1 to n do begin write('a[',i,']=');

readln(A[i]);

end;

J:=a[1];

for i:=1 to n do

begin

if abs(R-(a[i])) then J:=a[i];

end;

writeln('элемент наиболее близкий к R = ',J);

end.

Ви
Виктория

в строке if abs не задано условие (равенство больше меньше)
счетчик должен работать примерно так:

x=модуль (R-J) (это у нас опорный модуль от которого будем вычислять дальше)

начало i=2 до n

если модуль (R-a(i)) < x then x=модуль (R-a(i)) и J=a(i) (если текущий модуль разности меньше чем минимальный найденный ранее - заменяем его на текущий)

конец

печать J

Так же, учитывая что вы задаете размер массива числом N, массив должен формироваться после его задания а не до, как у вас.

Похожие вопросы
Доброе времени суток, помогите пожалуйста
Доброго времени суток, ответьте пожалуйста!
Добрый времени суток, сообщите пожалуйста
Доброго всем времени суток! Вопрос с++
Доброго времени суток! Подскажите пожалуйста
Доброго времени суток, помогите пожалуйста!
Доброго времени суток. Помогите пожалуйста!
доброго времени суток. помогите мне пожалуйста.
найдите ошибку пожалуйста)
Доброго времени суток! Столкнулся с проблемой!