Определить кол-во наибольших чисел в произвольно заданном числовом массиве(за один проход по массиву).
Определить кол-во наибольших чисел в произвольно заданном числовом массиве(за один проход по массиву).
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var k:=1;
var max:=a[0];
for var i:=1 to a.Length-1 do
if a[i]>max then begin max:=a[i]; k:=1 end
else
if a[i]=max then k+=1;
Writeln('Количество макс. элементов: ',k)
end.
Пример
n= 17
-7 -9 1 -9 -3 7 1 -6 6 7 -2 2 7 -1 -4 6 4
Количество макс. элементов: 3
Гость
const n=10;
var a:array[1..n] of integer;
max,k,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(21);
write(a[i]:3);
end;
writeln;
max:=a[1]; k:=1;
for i:=2 to n do
if a[i]>max
then begin max:=a[i]; k:=1; end
else if a[i]=max then k:=k+1;
writeln('max = ',max,' k = ',k);
end.
Пример:
1 4 9 20 9 5 8 20 14 15
max = 20 k = 2
Не нашли ответ?
Похожие вопросы