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

0 голосов
43 просмотров

Помогите написать программу которая из 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 баллов) | 43 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

  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 баллов)
0

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

0

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

0 голосов

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

(915 баллов)
0

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