关于#c++#的问题:简单的五子棋问题

简单的五子棋问题

案例1本应该输出no却输出了yes
案例一如下
0 0 0 0 0

1 1 1 1 0

0 0 1 1 0

1 1 0 0 1

0 0 0 0 0

#include

#include 

using namespace std;
int main()
{   
    int a[5][5] = {};
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            cin >> a[i][j];



        }



    }
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            if (a[i][j] == a[i][j+1]==
                a[i][j] == a[i][j + 2]==
                a[i][j] == a[i][j + 3]==
                a[i][j] == a[i][j + 4]==1
                )
                cout << "yes";
            return 0;


        }



    }
    for (int j = 0; j < 5; j++)
    {
        for (int i = 0; i < 5; i++)
        {
            if (a[i][j] == a[i+1][j] ==
                a[i+2][j] == a[i+3][j] ==
                a[i+4][j]==1 )
                cout << "yes";
            return 0;


        }



    }
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            if (a[0][0] == a[1][1] == a[2][2] == a[3]
                [3] == a[4][4]==1)

            {
                cout << "yes";
                return 0;
            }
            if (a[0][4]==a[1][3]==a[2][2]==a[3][1]
                ==a[4][0]==1)
            {
                cout << "yes";
                return 0;
            }


        }



    }
    cout << "no";
    return 0;
}


运行结果及详细报错内容

我的思路:判断横排,竖排,左斜,右斜为1 其余皆输出no 以flag作为标记

怎么样修改它

img

条件语句if的条件表达式不能是多个连等,即不能是X==Y==Z这样的形式