c++求大神看下哪里出错了,这是个求鞍点的程序。。

2025-05-13 11:01:52
推荐回答(1个)
回答(1):

#include 
#include 
using namespace std;
void main()
{
cout<<"请输入一个4×5的矩阵,每个数之间用空格间隔,每行输入完成后按回车:"<const int A=4,B=5;//4*5的矩阵 需要a[4][5]
int a[A][B],i=0,j=0,k=0;
int m[4],h[4];
//输入方阵
while(i<=3)
{j=0;
while(j<=4)
{cin>>a[i][j];
j=j+1;
}
i=i+1;
}
i=0;
//记录每行最大数
while(i<=3)
{j=0;h[i]=0;
m[i] = a[i][0];
while(j<=4)
{if(m[i]<=a[i][j])
{m[i]=a[i][j];h[i]=j;}
j=j+1;
}
i=i+1;
}
//比较其是否为列最小
i=0;j=0;
while(i<=3)
{j=0;
while(j<=3)
{if(m[i]<=a[i][j])
{j=j+1;}
else{m[i]=-1;break;}//有问题!!!!!!!!!!!!
}
i=i+1;
}
//输出其行号和列号
i=0;
while(i<=3)
{if(m[i]==-1){i=i+1;}}
if(i==4){cout<<"没有鞍点"<else
{
while(i<=3)
{if(m[i]>0)
{cout<<"行号为:"<i=i+1;
}
}
}