Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения...

0 голосов

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые
значения от 0 до 1000 включительно. Опишите на Паскале алгоритм, позволяющий найти
и вывести максимальное значение среди трёхзначных элементов массива, не делящихся
на 9. Если в исходном массиве нет элемента, значение которого является трёхзначным
числом и при этом не кратно 9, то выведите сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже. Запрещается использовать
переменные, не описанные ниже, но разрешается не использовать часть из них.
const
N = 20;
var
a: array [1..N] of
integer;
i, j, max: integer;
begin
for i := 1 to N do
readln(a[i]);
...
end.


спросил от Начинающий (243 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Отличник (7.2k баллов)

Program max;
const
  N = 20;
var
  a: array [1..N] of integer;
  i, j, max: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  max := 0;
  j := 0;
  for i := 1 to N do
    if (a[i] div 100 > 0) and (a[i] div 1000 = 0) and (a[i] mod 9 <> 0)
    then {число подходит}
      if a[i] > max
      then
        begin
          max := a[i];
          j := 1; {для отслеживания наличия хотя бы одного числа}
        end;
  if j = 1
  then
    writeln('Ответ: ', max)
  else
    writeln('Не найдено');
end.

оставил комментарий от Начинающий (243 баллов)

Спасибо огромное, только один вопрос. Как написать в паскале {Число подходит}?

оставил комментарий от Отличник (7.2k баллов)

В моём случае - это просто комментарий в коде.

оставил комментарий от Начинающий (243 баллов)

ааа, извините, затупила

...