#include <iostream>
using namespace std;
/*
Declarăm și citim de la tastatura variabila “n”.
Declaram matricea “matrix”.
Cu ajutorul unei structuri repetitive care parcurge liniile matricei:
Cu ajutorul unei structuri repetitive care parcurge coloanele matricei:
Citim elementul curent al matricei “matrix”.
5. Declaram matricea “invertedMatrix”.
6. Cu ajutorul unei structuri repetitive care
parcurge liniile matricei “matrix”:
Cu ajutorul unei structuri repetitive care
parcurge coloanele matricei “matrix”:
I. Salvam elementul curent in “invertedMatrix”
pe linia data de indicele coloanei curente și pe
coloana data de indicele liniei curente.
7. Cu ajutorul a unei structuri repetitive parcurgem liniile matricei “invertedMatrix”:
Cu ajutorul a unei structuri repetitive, parcurgem coloanele matricei “invertedMatrix”:
Afisam elementul curent urmat de un spațiu.
Afisam un rand nou.
*/
const int TEN = 10;
int main() {
int n, matrix[TEN + 1][TEN + 1], invertedMatrix[TEN + 1][TEN + 1];
cin >> n;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
cin >> matrix[i][j];
invertedMatrix[j][i] = matrix[i][j];
}
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
cout << invertedMatrix[i][j] << " ";
}
cout << "\n";
}
return 0;
}
/*
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
1 2 3 4 5 6 7 8 9 20
*/