【枚举】遍历矩阵对角线的方法

矩阵为\(n*m\)型,\(n\)为行,\(m\)为列,\(n+m-1\)为对角线数量

    //撇对角线
    for (int i = 0; i < n + m - 1; i++)
    {
        for (int j = max(0, i - m + 1); j <= min(i, n - 1); j++)
        {
            cout << g[j][i - j] << ' ';
        }
        cout << '\n';
    }
    //捺对角线
    for (int i = 1 - m; i < n; i++)
    {
        for (int j = max(i, 0); j < min(i + m, n); j++)
        {
            cout << g[j][j - i] << ' ';
        }
        cout << '\n';
    }

撇对角线示例
image
捺对角线示例
image

posted @ 2025-02-14 03:02  Tshaxz  阅读(55)  评论(0)    收藏  举报
Language: HTML