Дан целочисленный массив из 30 элементов. элементы массива могут принимать произвольные целые значения. опишите на языке или на одном из языков программирования алгоритм, который находит и выводит второй максимум массива (элемент, который в отсортированном по невозрастанию массиве стоял бы вторым). исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const n = 30; var a: array [1..n] of integer; i, k, max, max2: integer; begin for i: =1 to n do readln(a[i]); end.
program p1;
uses crt; вывод окошка
const N = 30;
var a: array [1..N] of integer;
i, max, max2 :integer;
begin
for i:=1 to N do begin вывод элементов массива с рандома
a[i]:= random (100);
write( a[i]:4);
end;
writeln;
max:= a[1]; принимаем первый элемент массива за макс
max2:= a[1]; принимаем первый элемент массива за макс
for i:=1 to N do begin находим первый max
if max<a[i] then
max:= a[i];
end;
for i:=1 to N do begin находим второй max2
if (max2<a[i]) and ( a[i]<> max) then
max2:= a[i];
end;
writeln('max=',max);
writeln('max2=',max2);
end.