一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。 本题要求编写程序,求一个给定的n阶方阵的鞍点。用C语言
时间: 2023-12-03 11:45:03 浏览: 140
找n阶方阵的鞍点
以下是一个简单的程序,用于找到n阶方阵的鞍点:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int matrix[MAX_SIZE][MAX_SIZE];
int n, i, j, row, col, found;
printf("Enter the size of the matrix: ");
scanf("%d", &n);
printf("Enter the elements of the matrix: \n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
found = 0;
for (i = 0; i < n; i++) {
row = i;
col = 0;
for (j = 0; j < n; j++) {
if (matrix[i][j] > matrix[row][col]) {
row = i;
col = j;
}
}
for (j = 0; j < n; j++) {
if (matrix[j][col] < matrix[row][col]) {
break;
}
}
if (j == n) {
printf("Saddle point found at (%d, %d): %d\n", row, col, matrix[row][col]);
found = 1;
}
}
if (!found) {
printf("No saddle point found.\n");
}
return 0;
}
```
程序首先要求用户输入矩阵的大小和元素。然后,对于每一行,程序找到该行的最大元素,并确定其所在的列。接下来,程序检查该列中是否存在最小元素。如果存在,程序就找到了一个鞍点,并输出其位置和值。如果没有找到任何鞍点,则输出一条消息。
阅读全文