用c++找出一个五行五列的二维数组的鞍点,函数find判断数组a是否具有鞍点,如
时间: 2024-02-01 12:15:13 浏览: 87
下所示:
```c++
#include <iostream>
using namespace std;
const int N = 5;
bool find(int a[N][N], int x, int y)
{
// 判断是否是该行最大值
for (int j = 0; j < N; j++)
if (a[x][j] > a[x][y])
return false;
// 判断是否是该列最小值
for (int i = 0; i < N; i++)
if (a[i][y] < a[x][y])
return false;
return true;
}
int main()
{
int a[N][N] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}};
bool flag = false;
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
if (find(a, i, j))
{
flag = true;
cout << "鞍点坐标为(" << i << ", " << j << "), 值为" << a[i][j] << endl;
}
if (!flag)
cout << "该二维数组不存在鞍点" << endl;
return 0;
}
```
这里的 `find` 函数用于判断数组 `a` 的第 `x` 行第 `y` 列是否是鞍点,如果是,则返回 `true`,否则返回 `false`。在主函数中,我们对二维数组中的每一个元素进行判断,如果存在鞍点,则输出鞍点坐标和值,否则输出不存在鞍点。
阅读全文