以下是一个用 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;
}

该程序首先获取用户输入的矩阵的行数和列数,然后读取用户输入的矩阵元素。接下来,程序使用两个嵌套的循环遍历矩阵的每一行,找到每一行的最小值及其列索引。然后,程序再次遍历矩阵,检查最小值是否也是该列的最大值,如果是,则输出该位置为鞍点。最后,程序判断是否找到了鞍点,如果没有找到,则输出相应的提示信息。

C++ 鞍点判断程序:实现与 C 语言方法相同的算法

原文地址: https://www.cveoy.top/t/topic/pgHv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录