求以下问题的完整代码

求以下问题的完整代码,要求使用c++面向对象的程序设计的方法和构造函数

img

img

先逐行找最大数,然后判断最大数是否是该列的最小值
运行结果:

img

代码:

#include <iostream>
using namespace std;

class AnPoint
{
    int point[101][101];
    int n;
public:
    AnPoint() {}
    void input()
    {
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                cin >> point[i][j];
        }
    }
    void show()
    {
        int max, x=0, y=0;
        for (int i = 0; i < n; i++)
        {
            //找最大点及其下标
            max = point[x][0];
            x = i; y = 0;
            for (int j = 1; j < n; j++)
            {
                if (point[i][j] > max)
                {
                    max = point[i][j];
                    x = i;
                    y = j;
                }
            }
            //判断max是否是y列的最小值
            int flag = 0;
            for (int k = 0; k < n; k++)
            {
                if (point[k][y] < max) //有比其最小的
                {
                    flag = 1;
                    break;
                }
            }
            if (flag == 0)
            {
                cout << x  << " " << y ;
                return;//题目不会出现多个鞍点,所以找到一个后直接结束即可
            }
        }
        cout << "NO";
    }
};

int main()
{
    AnPoint s;
    s.input();
    s.show();
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632