如何用Pascal求5*5数阵中的马鞍数

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:53:29
马鞍数,即行上最小而列上最大的数

var
a:array[1..5,1..5] of integer;
b,c:array[1..5] of integer;{行最小,列最大}
i,j:integer;
begin
for i:=1 to 5 do
for j:=1 to 5 do
read(a[i,j]);
fillchar(b,sizeof(b),maxint);
fillchar(c,sizeof(c),0);
for i:=1 to 5 do
for j:=1 to 5 do
begin
if a[i,j]<b[i] then b[i]:=a[i,j];
if a[i,j]>c[j] then c[j]:=a[i,j];
end;
for i:=1 to 5 do
for j:=1 to 5 do
if b[i]=c[j] then writeln(b[i]);
end.

比较暴力的方法.....

var
n,i,j,k:longint;
a:array[1..20,1..20]of longint;
max,min:array[1..20]of longint;
begin
readln(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
for i:=1 to n do max[i]:=-maxlongint;
for i:=1 to n do min[i]:=maxlongint;
for i:=1 to n do
for j:=1 to n do
begin
if max[j]<a[i,j] then max[j]:=a[i,j];
if min[i]>a[i,j] then min[i]:=a[i,j];
end;
for i:=1 to n do
for j:=1 to n do
if (a[