如何对角检查二维阵列?

时间:2015-05-16 14:31:19

标签: c++ arrays

我确实有一个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;
        }
        }
    }

1 个答案:

答案 0 :(得分:0)

要从右到左,你只需做一个看起来像

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