一个矩阵的鞍点是指某元素在该行上最大,该列上最小,现在请你找出矩阵的鞍点,也可能没有鞍点,如果没有鞍点,输出NO。
输入格式
第一行一个正整数n,表示矩阵的长宽为n;
接下来有n行,每行n个正整数。
输出格式
如果没有鞍点则显示NO,有则输出每个鞍点的坐标和值,一个鞍点占一行。
数据范围
1≦n≦10;
请问用c++该怎么写。
二维数组矩阵求鞍点,c++
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-link 2021-07-20 18:04关注
int main() { bool flag; //声明一个布尔变量; int a[100][100]; int n,m; int i,j; int k,max,maxj; //maxj为该行最大值的列标 cout<<"请输入一个矩阵大小:"; cin>>n>>m; cout<<"请输入一个矩阵数据:"; for(i=0; i<n; i++) { for(j=0; j<m; j++) { cin>>a[i][j]; } } for(i=0; i<n; i++) //求出该行的最大值的列下标; { k=a[i][0]; max=0; for(j=0; j<m; j++) { if(a[i][j]>k) { max=a[i][j]; maxj=j; } } flag=true; //默认flag为真 for(k=0; k<n; k++) //判断该行是否是其所在列的最小值; { if(max>a[k][maxj]) { flag=false; //如果不是最小,继续下一行(i=1)的内循环 } } if(flag) //如果是最小,则输出 { cout<<"a["<<i<<"]["<<maxj<<"]="<<max; cout<<endl; break; } } if(!flag) { cout<<"这个数不存在!"; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用 1
悬赏问题
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 求京东批量付款能替代天诚
- ¥15 slaris 系统断电后,重新开机后一直自动重启
- ¥15 51寻迹小车定点寻迹
- ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
- ¥15 关于vue2中methods使用call修改this指向的问题
- ¥15 idea自动补全键位冲突
- ¥15 请教一下写代码,代码好难
- ¥15 iis10中如何阻止别人网站重定向到我的网站
- ¥15 滑块验证码移动速度不一致问题