Ответ:
- max := -1001;
- for j := 1 to N do
- if (abs(a[j]) mod 10 <> 3) and (a[j]<0) then</li>
- if a[j]>max then max := a[j];
- if max=-1001 then write('Не найдено')
- else write(max);
Объяснение:
Присваиваем переменной max, которая должна содержать максимальное значение, минимальное значение -1 ( -1000 -1 = -1001).
- for j := 1 to N do
- if (a[j] mod 10 <> 3) and (a[j]<0) then</li>
- if a[j]>max then max := a[j];
Пробегаемся по элементам массива и смотрим: если остаток модуля элемента от деления на 10 неравен 3 (т.е. не оканчивается цифрой 3) и элемент меньше 0 (т.е. отрицательный), тогда, при условии, что элемент больше текущего максимального значения, переменную max перезаписываем -- присваиваем ей текущий элемент.
- if max=-1001 then write('Не найдено')
- else write(max);
Если переменная max содержит изначальное значение (-1001), то выводим на экран "Не найдено", иначе выводим на экран max.
Пример работы: