1. Современный вариант (коротко, быстро и наглядно, кто знает). Так уже начали учить в некоторых школах.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ArrRandom(ReadInteger('n='),1,300).Println. Where(k->(k>=100) and ((k mod 100) div 10=0)); if s.Count>0 then Writeln(s.Max) else Writeln('Нет элементов') end.
2. А так по-прежнему учат в большинстве школ. Стиль "80-х годов века". Долго, длинно, можно наделать ошибок, но по-другому эти учителя сами не могут.
const nn=100; var i,n,max:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; max:=0; for i:=1 to n do begin a[i]:=Random(300)+1; Write(a[i],' '); if (a[i]>=100) and ((a[i] mod 100) div 10=0) then if a[i]>max then max:=a[i] end; Writeln; if max>0 then Writeln(max) else Writeln('Нет элементов') end.
Объяснение:
209 143 32 208 187 209 142 208 177 208 187 209 142 32 208 184 208 189 209 132 208 190 209 128 208 188 208 176 209 130 208 184 208 186 209 131