二维数组鞍点
时间: 2023-06-21 10:20:52 浏览: 123
二维数组的鞍点是指在该数组中,某个元素在其所在行中最大,同时在其所在列中最小。具体来说,若二维数组中某个元素a[i][j]是其所在行的最大值,同时也是其所在列的最小值,则称该元素为鞍点。
以下是一个示例代码,用于查找二维数组的鞍点:
```
int matrix[ROW][COL] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < ROW; i++) {
int max_in_row = matrix[i][0];
int col_index = 0;
for (int j = 1; j < COL; j++) {
if (matrix[i][j] > max_in_row) {
max_in_row = matrix[i][j];
col_index = j;
}
}
bool is_saddle_point = true;
for (int k = 0; k < ROW; k++) {
if (matrix[k][col_index] < max_in_row) {
is_saddle_point = false;
break;
}
}
if (is_saddle_point) {
cout << "Saddle point found at (" << i << ", " << col_index << "): " << max_in_row << endl;
}
}
```
在上面的代码中,我们先遍历每一行,找到该行的最大值和其所在列的索引。然后再遍历该列,判断该元素是否是该列中的最小值。如果是,则说明该元素是鞍点,输出其坐标和值即可。
阅读全文