C++ 鞍点判断程序:实现与 C 语言方法相同的算法
以下是一个用 C++ 编写的判断鞍点的程序,该程序实现了与 C 语言中相同的鞍点判断算法:
#include <iostream>
using namespace std;
int main() {
int matrix[100][100];
int rows, cols;
cout << '输入矩阵的行数和列数:';
cin >> rows >> cols;
cout << '输入矩阵元素:' << endl;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
cin >> matrix[i][j];
}
}
bool found = false;
for (int i = 0; i < rows; i++) {
int min = matrix[i][0];
int colIndex = 0;
// 找到每一行的最小值及其列索引
for (int j = 1; j < cols; j++) {
if (matrix[i][j] < min) {
min = matrix[i][j];
colIndex = j;
}
}
// 判断最小值是否是该列的最大值
bool isSaddlePoint = true;
for (int k = 0; k < rows; k++) {
if (matrix[k][colIndex] > min) {
isSaddlePoint = false;
break;
}
}
// 如果是鞍点则输出
if (isSaddlePoint) {
cout << '鞍点位置:' << i + 1 << '行 ' << colIndex + 1 << '列,值为:' << min << endl;
found = true;
}
}
if (!found) {
cout << '没有找到鞍点!' << endl;
}
return 0;
}
该程序首先获取用户输入的矩阵的行数和列数,然后读取用户输入的矩阵元素。接下来,程序使用两个嵌套的循环遍历矩阵的每一行,找到每一行的最小值及其列索引。然后,程序再次遍历矩阵,检查最小值是否也是该列的最大值,如果是,则输出该位置为鞍点。最后,程序判断是否找到了鞍点,如果没有找到,则输出相应的提示信息。
原文地址: https://www.cveoy.top/t/topic/pgHv 著作权归作者所有。请勿转载和采集!