Писал код для другого, но адаптировал под твою задачу)
var
mas: array[1..1000] of integer;
i,a,n,c: integer;
begin
n:=0;
writeln ('Введите количество элементов массива');
readln (c);
randomize;
write ('Массив - ');
for i := 1 to c do
begin
mas[i] := random(c);
write(' ', mas[i], ' ');
end;
writeln;
begin
for i := 1 to c do
if mas[i] > mas[i + 1] then swap(mas[i], mas[i +1]);
end;
for i:= 1 to c do begin
mas[i]:=mas[i+1];
a:=mas[i];
end;
writeln ('Максимальный элемент массива ',mas[i]);
for i:=1 to c do
if a=mas[i] then inc(n);
write ('Количество равных элементов массива ',n);
end.
program MassivMaxCount;
Uses Crt;
const n=1000;
var j,m,c:integer;
var a: arrray [1..n] of real;
begin
randomize;
clrscr;
write('Введите количество элементов массива n<1000: ');
readln(m);
c:=0;
max:=a[1];
for i:=1 to m do
begin
a[i]:=random(20)+5;
if (a[i]>max) tnen max:=a[i]
end;
for i:=1 to m do
if (a[i]=max) then c:=c+1;
writeln('Количество элементов равных наибольшему: ',c);
readkey;
end.