c++寻找二维数组中的鞍点,即该位置上的元素是所在行上最大的元素是所在列上最小的元素。也可能没有鞍点

2025-02-26 19:43:58
推荐回答(1个)
回答1:

#include
using namespace std;
#define N 2
#define M 3
int inout(int B[][M],int);
int main()

  int A[N][M];
 int i,j,p=0;
 cout<<"请输入数组A[N][M]的元素:"< for(i=0;i  {for(j=0;j  {cin>>A[i][j];}
  }
 cout<<"A[N][M]="< for(i=0;i {for(j=0;j   {cout<  cout< }
 p=inout(A,p);//判断鞍点子函数
 if(p!=1) cout<<"!!!数组A[n][m]没有鞍点"< return 0;
}
int inout(int B[][M],int l)
{int i,j,max,q=0,h;
 for(i=0;i{   max=B[i][0];
 for(j=0;j {
  if(max>B[i][j])
  {
   max=B[i][j];
   q=j;
  }  
 }
 int flag=0;
 for(h=0;h {
  if(B[h][q]>=B[i][q])
   {
    flag=1;
    break;
      }
 }
 if(flag==0)
 {cout<<"数组A[n][m]中的鞍点是"<}
return l;
}