array 4x4 über die diagonale spiegeln aber wie
-
guten tag anfänger in c++
ich hab ein vektor array bestehend aus 4x4 zahlen
bsp
1 2 3 4
3 4 5 6
7 8 9 0
2 3 8 7das soll gespiegelt werden DUIAGONAL
also zu
1 3 7 5
2 4 8 3
3 5 9 8
4 6 0 7matrix_1[i][j] heist das array
fit den for schleifen wird das ja dann wieder zurückgedreht
for (i=0;i<4;i++)
for (j=0;j<4;j++)
** matrix i j in tmp
matrix I J = matrix j I
matrix j i = tmpso gehts auf keinen fall
wier kann man das elegant lösen
danke bin anfänger bitte nicht über pointer
-
Am simpelsten sind wohl hartcodierte 6 swaps zum transponieren. Ansonsten ist die Idee mit der Schleife nicht verkehrt, da sie sich auf beliebig große quadratische Matrizen erweitern lässt.
for(int i = 1; i != 4; ++i) for(int j=0; j != i; ++j) std::swap(matrix[i][j], matrix[j][i]);edit: ungetestet.
-
Walli schrieb:
Am simpelsten sind wohl hartcodierte 6 swaps zum transponieren. Ansonsten ist die Idee mit der Schleife nicht verkehrt, da sie sich auf beliebig große quadratische Matrizen erweitern lässt.
for(int i = 1; i != 4; ++i) for(int j=0; j != i; ++j) std::swap(matrix[i][j], matrix[j][i]);edit: ungetestet.
danke das wars was ich gesucht hatte