回 帖 发 新 帖 刷新版面

主题:帮忙做一道题,turbo pascal 谢谢各位高手

各位哥哥姐姐帮我做一道题:
 在第m*n矩阵中,若元素a[I,j]满足以下条件:a[ I, J]既是i行元素中的严格最小值,又是第j列元素中严格最大值,则称a[ I, J]为矩阵a的一个鞍点。编程求出a中所有鞍点。若不存在鞍点,则给出“NO”信息。(SZ6.PAS)
如:输入文件:SZ6.IN       输出文件:SZ6.OUT
    2  3
    4  3  6                a[1,2]=3
    7  2  1
    
    输入文件:SZ6.IN       输出文件:SZ6.OUT
    3  3
    4  8  6                NO
    7  2  1
    2  6  10

一定要用二维数组,并且需要从其他文件导入

回复列表 (共1个回复)

沙发

program lx;
var a:array[1..20,1..20] of integer;
m,n,i,j:integer;
q:boolean;
function ii:boolean;
var k:integer;
begin
ii:=true;
for k:=1 to n do
  if (k<>j) and (a[i,j]>a[i,k]) then begin
                               ii:=false;
                               exit;
                                    end;
end;
function jj:boolean;
var k:integer;
begin
jj:=true;
 for k:=1 to m do
  if (k<>i) and (a[i,j]<a[k,j]) then begin
                                jj:=false;
                                exit
                                      end;
end;
begin
q:=false;
readln(m,n);
for i:=1 to m do
 for j:=1 to n do
   read(a[i,j]);
for i:=1 to m do
 for j:=1 to n do
  if ii and jj then begin writeln('a[i,j]=',a[i,j]);q:=true;end;
if not q then writeln('No');
end.



你给的数据过  了 ,其它的你再试一下,


没加文件,自己加吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册