【枚举】遍历矩阵对角线的方法
矩阵为\(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';
}
撇对角线示例

捺对角线示例


浙公网安备 33010602011771号