Заводишь доп. массив на 100 элементов var a:array[0..99] of Integer;
и потом обрабатываешь основной массив таким образом:
for i:=1 to 50 do for j:=1 to 1000 do inc(a[m[i,j]]);
Потом находишь среди элементов массива "a" минимальный и максимальный элементы, и выводишь их индексы
const
//Размкерности исходного массива
maxX=50;
maxY=1000;
var:
A:array[1..maxX][1..maxY]of Byte; // Начальный массив, его надо заполнять случайными значениями, но вопрос не в этом, так что я буду считать, что он уже инициализирован
C:array[0..99] of Integer; //А вот это массив результатов
i,j:integer;
begin
//Инициализация массива ответов
FillChar(C,100,0)
//Подсчет
for i:=1 to maxX do
for j:=1 to maxY do
Inc(С [A[j]]);
end;
1. Описание массива var a:array[50..1000] of integer; kol:array[1..100] of integer;
Описание переменных i,j,k,max,min:integer;
2. Заполнение a[i.j]:=random(100);
3. for k:=1 to 100 do begin
a[k]:=0;
for i:=1 to 50 do begin
for j:=1 to 1000 do
if a[i,j]=k then inc(kol[k]);
end; end;
4. Вывод for k:=1 to 100 do writeln('Количество числа ',k,' = ',kol[k]);
5. a[1,1]:= max;
for i:=2 to 50 do begin
for j:=2 to 50 do
if a[i,j]>max then max:=a[i,j]; end;
минимальное аналогично (другая переменная: min другой знак в условии) ;
6. Вывод: writeln('max = ',max,'min = ',min);
END.