uses crt;
const nmax=20;//макс. размеры матрицы
type mas=array[1..nmax] of integer;//массив-строка матрицы
matr=array[1..nmax] of mas;//матрица-массив строк
function Odin(v:mas;n:byte):byte;//подсчет одинаковых
var i,j,k,mx:byte;
begin
mx:=0;
for i:=1 to n do//проверим все элементы
begin
k:=0;//количество каждого
for j:=1 to n do
if v[i]=v[j] then k:=k+1;//если повтор, считаем
if k>mx then mx:=k;//если больше чем до этого, это макс. количество
end;
Odin:=mx;//значение функции
end;
var a:matr;
m,n,i,j,imx,mx:byte;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(8);//маленький диапазон, чтобы были повторы
write(a[i,j]:3);
end;
writeln;
end;
writeln;
mx:=1;
imx:=1;
for i:=1 to m do
if Odin(a[i],n)>mx then
begin
mx:=Odin(a[i],n);
imx:=i;
end;
if mx=1 then write('Одинаковых элементов в строках нет!')
else
begin
writeln('Номер первой строки, содержащей наибольшее количество одинаковых=',imx);
write('Их количество=',mx);
end;
readln
end.