to galinka :
1. пусть i - кол-во строк без нулей . а-матрица , х и у - кол-во строк и столбцов матрицы .
type mas:array [1..x,1..y] of longint;
.....
{процедура вычисления кол-во строк без нулей}
function line( a:mas , x,y:word):word;
var i,j,n:word; b:boolean;
begin
for j:=1 to y do begin
for i:=1 to x do b:=not (a[i,j]=0 );
if b then inc
;
end;
line:=n;
end;
------------------------
{процедура нахождения Максимальное из чисел, встречающихся в заданной матрице более одного раза }
function max( a:mas; x,y:word):longint;
var i,j,k,m:word; b:boolean; h:longint;
begin
for i:=1 to x do for j:=1 to y do begin k:=1; m:=1;
while b or (not ((k=x+1) and (m=y+1)) do
begin b:=not(a[i,j]=a[k,m])
inc(k); inc(m);
if not(b) then f:=a[i,j];
end;
if not(b) and (f>mx) then mx:=f;
end;
if not(b) then max:=mx;
end;
-----------------------------------
{ примечание :
эти процедуры я написал без компилятора , поэтому программа может работать неверно . к тому же , это , отнынь , не самый лучший алгоритм.
кст , здесь нельзя сразу написать в var тип переменной а , поэтому пришлось написать в type ! }