C++,编程找出一个二维数组的鞍点,如果没有,又要输出相应的信息。

2025-02-26 15:04:48
推荐回答(1个)
回答1:

#include
using namespace std;
void main()
{
    int a[3][3],i,j,*max[3],*min[3],m,n,c;
cout<<"输入一个数n:\n";
cin>>n;
    cout<<"输入一个"<    for (i=0;i<=n-1;i++)
for (j=0;j<=n-1;j++)
cin>>a[i][j];
for (i=0;i<=n-1;i++)
    {
max[i]=&a[i][0];
for (j=0;j<=2;j++)
{
if (*max[i] max[i]=&a[i][j];
}
}
 
    for(j=0;j<=n-1;j++)
    {
min[j]=&a[0][j];
for(i=0;i<=2;i++)
{
if (*min[j]>a[i][j])
min[j]=&a[i][j];
}
    }
c=0;
    for(i=0;i<=n-1;i++)
        for(j=0;j<=n-1;j++)
            if (max[i]==min[j] && *max[i]==*min[j])
{
m=i+1;
n=j+1;
c++;
cout<<"鞍点为:"<<*max[i]<<"位置:("< return;
        }
        if (c==0)
            cout<<"该矩阵无鞍点!\n";
}