c++找出4 行4列二维数组的鞍点
时间: 2023-10-28 19:04:30 浏览: 128
在一个二维数组中,如果一个数是所在行的最大值,同时又是所在列的最小值,则该数被称为鞍点。以下是 C++ 代码实现找出 4 行 4 列二维数组的鞍点:
```cpp
#include <iostream>
using namespace std;
const int N = 4;
int a[N][N]; // 二维数组
int main()
{
// 输入二维数组的元素
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
cin >> a[i][j];
bool flag = false; // 标记是否找到鞍点
for (int i = 0; i < N; i++)
{
int max_row = a[i][0], max_col = 0; // 记录当前行的最大值和最大值所在列的下标
for (int j = 1; j < N; j++)
{
if (a[i][j] > max_row)
{
max_row = a[i][j];
max_col = j;
}
}
bool is_saddle = true;
for (int k = 0; k < N; k++)
{
if (a[k][max_col] < max_row)
{
is_saddle = false;
break;
}
}
if (is_saddle)
{
cout << "鞍点为:" << max_row << endl;
flag = true;
break;
}
}
if (!flag)
cout << "该二维数组没有鞍点!" << endl;
return 0;
}
```
在这个代码中,我们首先输入了一个 4 行 4 列的二维数组,然后对于每一行,我们遍历该行的所有元素,找出该行的最大值和最大值所在列的下标。接着,我们遍历该列的所有元素,如果该列的任意一个元素小于该行的最大值,则该行不是鞍点;否则,该行就是鞍点。如果找到鞍点,则输出鞍点的值并结束程序;如果没有找到鞍点,则输出“该二维数组没有鞍点!”提示信息。
阅读全文