习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。
数组 元素 最大 没有 可能 位置 最小 习题
2023-09-14 09:06:56 时间
C++程序设计(第三版) 谭浩强 习题5.7 个人设计
习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。
代码块:
#include <iostream>
using namespace std;
int main()
{
int n[3][3], i, j, m, p, c=0, min, max;
for (i=0; i<3; i++){ //输入一个3*3数组
cout<<"Please enter row "<<i+1<<" numbers: ";
for (j=0; j<3; cin>>n[i][j++]);
}
for (i=0; i<3; i++){
for (j=0, max=n[i][j]; j<3; j++)
if (n[i][j]>max){ //判断出该行上最大的数,固定行号和列号
max=n[i][j], m=i, p=j;
}
for (j=0, min=n[m][p]; j<3; j++) //对比该列上的数,一旦有比固定的最大数还小的,中断循环
if (n[j][p]<min) break;
if (j==3){ //如果循环正常结束没有中断,输出鞍点,同时有鞍点则判断变量c为真
c=1;
cout<<"Result: "<<n[m][p]<<endl;
cout<<"Row= "<<m+1<<" Column= "<<p+1<<endl;
}
}
if (!c) cout<<"No match!"<<endl; //如果判断变量c值始终为初值,输出无鞍点
system("pause");
return 0;
}
相关文章
- java向数组中插入元素
- Java实现 LeetCode 565 数组嵌套(没有重复值的数组)
- Java实现 LeetCode 540 有序数组中的单一元素(位运算入门)
- Java实现 LeetCode 540 有序数组中的单一元素(位运算入门)
- Java实现 LeetCode 462 最少移动次数使数组元素相等 II
- Java实现 LeetCode 330 按要求补齐数组
- Java实现 LeetCode 215. 数组中的第K个最大元素
- 访问数组中的元素
- 列表 数组 哈希表
- 34. 在排序数组中查找元素的第一个和最后一个位置
- LeetCode-1822. 数组元素积的符号【数组,数字】
- SAP UI5 应用 manifest.json 文件里 Routes 数组元素的相对顺序,不可忽视的试读版
- 【LeetCode 中等 堆 python3】 215. 数组中的第K个最大元素
- 【LeetCode 简单 数组 python3】27. 移除元素
- 【LeetCode Python实现】34. 在排序数组中查找元素的第一个和最后一个位置(中等)
- 【LeetCode 简单 数组 python3】485.最大连续1的个数
- 使数组唯一的最小增量
- 利用分治算法求数组的最大元素和最小元素
- 例 8.12 有一个3*4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值。
- PHP 零基础入门笔记(12):数组 array
- Java 创建数组的方式, 以及各种类型数组元素的默认值
- 有两个数组a,b,大小都为n,;通过交换a,b中的元素,使sum(a)-sum(b)最小。
- 剑指 Offer 51. 数组中的逆序对