• Предмет: Информатика
  • Автор: defchonka2012
  • Вопрос задан 7 лет назад

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

Ответы

Ответ дал: contrlc
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.
Ответ дал: Аноним
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
Вас заинтересует