Написать программу в ПАСКАЛЕ, которая в массиве из 30 элементов выводит 2 максимальных

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

Написать программу в ПАСКАЛЕ, которая в массиве из 30 элементов выводит 2 максимальных


Информатика (621 баллов) | 36 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(30,-50,50); a.Println;
  a.OrderByDescending(t->t).Take(2).Println
end.

Пример
14 -16 16 45 -42 27 -47 9 -31 -3 -49 7 15 44 -46 -30 7 34 30 25 -20 45 47 -8 -25 26 -16 42 -5 -17
47 45
(150k баллов)
0 голосов

Var
a:array[1..30] of integer;
i, max, max2:integer;
begin
  for i:= 1 to 30 do
    read(a[i]);
  max:=a[1] - 2*a[1];max2:=max;
  for i:= 1 to 30 do
  begin
    if a[i] > max then begin
                        max2:= max;
                        max:=a[i];
                        continue;
                       end;
    if a[i] > max2 then
                        max2:=a[i];
  end;
  Writeln(max2, ' ', max);
end.

(8.8k баллов)