用c++编写一个程序,求一个4行4列的整数矩阵的鞍点。注意:一个矩阵可能有0到多个鞍点。
时间: 2024-03-07 13:46:39 浏览: 90
好的,以下是用 C++ 编写的程序,实现求一个4行4列的整数矩阵的鞍点:
```c++
#include <iostream>
using namespace std;
int main() {
// 定义一个4行4列的整数矩阵
int matrix[4][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}
};
// 定义一个数组,用来保存鞍点
int saddle_points[4][4] = {0};
// 遍历矩阵中的每一个元素
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
// 判断当前元素是否为所在行的最大值
if (matrix[i][j] == *max_element(matrix[i], matrix[i] + 4)) {
// 判断当前元素是否为所在列的最小值
bool is_min = true;
for (int k = 0; k < 4; k++) {
if (matrix[i][j] > matrix[k][j]) {
is_min = false;
break;
}
}
if (is_min) {
saddle_points[i][j] = 1;
}
}
}
}
// 输出结果
bool has_saddle_point = false;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
if (saddle_points[i][j] == 1) {
has_saddle_point = true;
cout << "(" << i << ", " << j << ")" << endl;
}
}
}
if (!has_saddle_point) {
cout << "该矩阵没有鞍点" << endl;
}
return 0;
}
```
运行以上程序,将输出该矩阵的鞍点坐标。如果该矩阵没有鞍点,将输出“该矩阵没有鞍点”。