Срочно!!!!! напишите пожалуйста программу ** паскале к задаче Дано н-натуральных чисел не...

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

Срочно!!!!! напишите пожалуйста программу на паскале к задаче Дано н-натуральных чисел не привышавшая 300 .Найти наибольшее число с предпоследней цифрой 0. заранее спасибо


Информатика (23 баллов) | 18 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
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.

Пример
n= 15
76 283 171 140 113 65 185 35 202 42 93 51 205 76 138
205

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.

Пример
n=15
219 68 131 115 104 169 80 288 143 108 124 214 50 101 1
108
(150k баллов)
0 голосов

Begin
  var max := 0;
  var n := readinteger('Введите n: ');
  write('Введите n чисел: ');
  for var i := 1 to n do
  begin
    var a := readinteger();
    if(a.ToString.Length > 1) then
       if(a.ToString[a.ToString.Length - 1] = '0') then
         if(a > max) then max := a;
  end;
   if(max = 0) then write('Нет таких чисел.')
   else write(max);
end.

(3.7k баллов)