如何对角线检查二维数组

How to check a 2D array diagonally?

本文关键字:二维数组 检查 对角线      更新时间:2023-10-16

我确实有一个2D数组,我想对角线检查它重复5次,不为零的数字。我确实让它从左到右工作但它不会从右到左工作。你能帮帮我吗?由于

for (int i = 0; i <= m_len - 5 ;i++)
    {
        for (int j = 0; j <= m_len - 5 ;j++)
        {
            if (m_boardRows[i][j]!=0 &&
            m_boardRows[i][j]==m_boardRows[i+1][j+1] &&
            m_boardRows[i][j]==m_boardRows[i+2][j+2] &&
            m_boardRows[i][j]==m_boardRows[i+3][j+3] &&
            m_boardRows[i][j]==m_boardRows[i+4][j+4])
        {
            return true;
        }
        if (m_boardRows[m_len-1-i][m_len-1-j]!=0 &&
            m_boardRows[m_len-1-i][m_len-1-j]==m_boardRows[m_len-1-i-1][m_len-1-j-1] &&
            m_boardRows[m_len-1-i][m_len-1-j]==m_boardRows[m_len-1-i-2][m_len-1-j-2] &&
            m_boardRows[m_len-1-i][m_len-1-j]==m_boardRows[m_len-1-i-3][m_len-1-j-3] &&
            m_boardRows[m_len-1-i][m_len-1-j]==m_boardRows[m_len-1-i-4][m_len-1-j-4])
        {
            return true;
        }
        }
    }

从右到左你只需要输入一个for循环就像

for (i = m_len - 5; i >= 0; i--){}