找出一个二维数组的“鞍点”。即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。
时间: 2024-06-02 12:03:25 浏览: 19
要找出一个二维数组的鞍点,需要遍历每个元素,判断该元素是否是该行上的最大值和该列上的最小值。如果是,则该元素为鞍点。
以下是一个示例代码:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
int main() {
int arr[ROW][COL] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j, k, max, min, flag;
for (i = 0; i < ROW; i++) {
max = arr[i][0];
for (j = 1; j < COL; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
}
}
for (j = 0; j < COL; j++) {
min = arr[0][j];
for (k = 1; k < ROW; k++) {
if (arr[k][j] < min) {
min = arr[k][j];
}
}
if (max == min) {
flag = 1;
printf("鞍点为:%d,位于第%d行,第%d列\n", max, i + 1, j + 1);
}
}
}
if (!flag) {
printf("该二维数组没有鞍点\n");
}
return 0;
}
```
该代码中,我们首先定义了一个3行4列的二维数组,并遍历每个元素,分别找出该元素所在行的最大值和所在列的最小值,如果最大值等于最小值,则该元素为鞍点。如果遍历完整个数组都没有找到鞍点,则输出“该二维数组没有鞍点”。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)