求一个n×n数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:(n=
答案:1 悬赏:30 手机版
解决时间 2021-01-25 20:36
- 提问者网友:温旧梦泪无声
- 2021-01-25 16:55
求一个n×n数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:(n=
最佳答案
- 五星知识达人网友:佘樂
- 2021-01-25 17:08
const
a:array[1..5,1..5] of integer
=((5,6,7,8,9),
(4,5,6,7,8),
(3,4,5,2,1),
(2,3,4,9,0),
(1,2,5,4,8));
var
i,j,k,min,num:integer;
col:array[1..5] of integer;
begin
{求每行最小的数,并将列号存入col}
for i:=1 to 5 do begin
min:=a[i,1]; col[i]:=1;
for j:=2 to 5 do
if a[i,j] min:=a[i,j];
col[i]:=j;
end;
write(col[i]:3);
end;
writeln; writeln;
{检查是否在相应的列最大}
for k:=1 to 5 do begin
num:=0;
min:=a[k,col[k]];
for i:=1 to 5 do
if i<>k then begin
if a[i,col[k]]>min then inc(num);
end;
if num=0 then writeln(k:3,col[k]:3);
end;
end.
a:array[1..5,1..5] of integer
=((5,6,7,8,9),
(4,5,6,7,8),
(3,4,5,2,1),
(2,3,4,9,0),
(1,2,5,4,8));
var
i,j,k,min,num:integer;
col:array[1..5] of integer;
begin
{求每行最小的数,并将列号存入col}
for i:=1 to 5 do begin
min:=a[i,1]; col[i]:=1;
for j:=2 to 5 do
if a[i,j]
col[i]:=j;
end;
write(col[i]:3);
end;
writeln; writeln;
{检查是否在相应的列最大}
for k:=1 to 5 do begin
num:=0;
min:=a[k,col[k]];
for i:=1 to 5 do
if i<>k then begin
if a[i,col[k]]>min then inc(num);
end;
if num=0 then writeln(k:3,col[k]:3);
end;
end.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯