我正在尝试编写一个程序来转置方阵的次对角线。我知道如何正常转置它(沿着它的正常对角线),但我无法弄清楚如何围绕次轴进行转置。
循环中有什么问题?我知道我必须运行它直到“N/2”并更改“i”和“j”的初始化,即使我这样做它也不起作用。
void transpose(int a[][N]) // Transposes matrix along the secondary diagonal
{
for (int i = 0; i < N; i++)
for (int j = 0; j < i; j++)
{
int tmp = a[i][j];
a[i][j] = a[N - 1 - j][N - 1 - i];
a[N - 1 - j][N - 1 - i] = tmp;
}
}
Run Code Online (Sandbox Code Playgroud)