C++数组找矩阵中的鞍点

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:50:37
由键盘输入一个3*4(3行4列)的矩阵,输出矩阵中的鞍点(即在矩阵行中最大,列中最小的数).若没有鞍点,输出"NO"字样

#include<iostream>
using namespace std;
int const N=3;
int const M=4;
void minmax(int A[][N],const int m,const int n)
{
int tmp,col,N=0;
//寻找鞍点
for(int i=0;i<m;i++)
{
//寻找第i行的最大值tmp,同时记录其列标col
tmp=A[i][0];
col=0;
for(int j=1;j<n;j++)
if(tmp<A[i][j])
{
tmp=A[i][j];
col=j;
}
//判断tmp是否为第col列中最小值
int judge=1;
for(j=0;j<m;j++)
{
if(tmp>A[j][col])
{
judge=0;
break;
}
else continue;
}
if(judge==1)
{
cout<<"鞍点A["<<i<<"]["<<col<<"]="
<<tmp<<endl;
N++; //记录鞍点个数
}
}
//鞍点寻找结束
if(N==0)
cout<<"没有鞍点"<<endl;
else
cout<<"鞍点有"<<N<<"个"<<endl;