一:问题描述
输入一个3*4的矩阵,找出矩阵中行的最大数,且是所在列的最小数(鞍点)。
如果有就输出“YES”,否则输出“NO”。
二:源代码
#include <iostream>
using namespace std;
int main(){
int a[3][4];
int i,j,max,min;
for(i=0;i<3;i++){ //输入矩阵
for(j=0;j<4;j++)
cin >> a[i][j];
}
for(i=0;i<3;i++){
max=a[i][0];
int k=0;
for(j=1;j<4;j++){
if(max<a[i][j]){
max=a[i][j];
k=j;//记录行中最大数的纵坐标
}
}
min=a[0][k];
int p=0;
for(j=1;j<3;j++){
if(min>a[j][k]){
min=a[j][k];
p=j;
}
}
if(min==max){
cout <<"Yes"<<endl;
break;
}else{
cout <<"NO"<<endl;
break;
}
}
return 0;
}