Найти кол-во величайших чисел в произвольно заданном числовом массиве(за один проход

Найти кол-во величайших чисел в произвольно данном числовом массиве(за один проход по массиву).

Задать свой вопрос
Анна Санчес-Тименталь
Паскаль?
2 ответа
// 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]gt;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]gt;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
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт