C语言中求二维数组的靶点
时间: 2023-11-23 18:57:12 浏览: 134
以下是C语言中求二维数组靶点的算法设计和代码实现:
1.算法设计
- 靶点是指在二维数组中,该元素在所在行上最大,在所在列上最小。因此,我们需要遍历整个二维数组,找到符合条件的元素。
- 对于每个元素,我们需要比较它与所在行和所在列的最大最小值,判断是否为靶点。
2.代码实现
```c
#include <stdio.h>
#define ROW 3
#define COL 4
void findSaddlePoint(int arr[][COL], int row, int col) {
int i, j, k, min, max, flag;
for (i = 0; i < row; i++) {
min = arr[i][0];
flag = 1;
for (j = 1; j < col; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
k = j;
}
}
max = arr[0][k];
for (j = 0; j < row; j++) {
if (arr[j][k] > max) {
max = arr[j][k];
}
}
if (min == max) {
printf("Saddle Point: %d\n", min);
flag = 0;
}
}
if (flag) {
printf("No Saddle Point.\n");
}
}
int main() {
int arr[ROW][COL] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
findSaddlePoint(arr, ROW, COL);
return 0;
}
```
运行结果:
```
No Saddle Point.
```
阅读全文