Помогите написать программу которая из 20 чисел находит максимальное трехзначное число,...

0 голосов

Помогите написать программу которая из 20 чисел находит максимальное трехзначное число, не кратное 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]);
max:=99;
j:=a[i];
for i:= 1 to N do
if (j>99) and (j<999) and (j mod 9 <>0) and (j>max) then max:=j;
if max>99 then writeln (max) else writeln ('no');
readln;
end.

программа проверяет только последнее число, а не все 20. где ошибка?


спросил от (39 баллов) в категории Информатика
2 Ответы
0 голосов
ответил от (84 баллов)
 
Лучший ответ

  const
N=20;
   var
a:array [1..N] of integer;
i,j,max,k:integer;
begin
max:=99;
  for i:= 1 to N do
  begin
  readln(a[i]);
  j:=a[i];
  for k:= 1 to N do
  begin
   if (j>99) and (j<999) and (j mod 9 <>0) and (j>max) then max:=j;

  end;
  end;
 if max>99 then writeln (max) else writeln ('no');
end.

оставил комментарий от (84 баллов)

опоздал немного

оставил комментарий от (39 баллов)

спасибо! я уже понял, где была ошибка)

0 голосов
ответил от Начинающий (915 баллов)

Я бы написал легче, но тут ошибка в цикле, после объявление цикла начни begin, а после if max>99 then... end; Именно ";"

оставил комментарий от (39 баллов)

да,спасибо! я знал, что цикл не выполняется, но не знал как исправить.

...