c语言写一个函数,找出一个二维数组中的鞍点(即该位置上的元素在该行上最大、在该列上最小),如果有鞍点,返回鞍点值,没有返回0。
时间: 2023-11-06 18:05:56 浏览: 90
数组经典例题求鞍点.txt
5星 · 资源好评率100%
下面是一个实现此功能的 C 语言函数:
```c
int findSaddlePoint(int arr[][N], int row, int col) {
int i, j, min, max, index;
for (i = 0; i < row; i++) {
min = arr[i][0];
index = 0;
for (j = 1; j < col; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
index = j;
}
}
max = arr[0][index];
for (j = 1; j < row; j++) {
if (arr[j][index] > max) {
max = arr[j][index];
}
}
if (max == arr[i][index]) {
return max;
}
}
return 0;
}
```
其中,`arr` 是一个二维数组,`row` 和 `col` 分别表示数组的行数和列数。函数遍历每一行,找出该行中的最小值及其下标,并在该列中找出最大值。如果最大值等于该位置的元素,则返回该元素的值,否则继续遍历。如果整个数组中没有鞍点,返回 0。
阅读全文