Răspuns :
► Explicatie :
Rotim matricea la 90 de grade in sensul acelor de ceasornic apoi punem diagonalele in pozitia care trebuie.
► Cod :
#include <iostream>
using namespace std;
const int MAX_SIZE = 101;
int main() {
int n, mt[MAX_SIZE][MAX_SIZE], aux[MAX_SIZE][MAX_SIZE];
cin >> n;
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
cin >> mt[i][j];
}
}
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
aux[j][n - i + 1] = mt[i][j];
}
}
for(int i = 1; i <= n; ++i) {
aux[i][i] = mt[i][i];
}
for(int i = 1; i <= n; ++i) {
aux[i][n - i + 1] = mt[i][n - i + 1];
}
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
cout << aux[i][j] <<' ';
}
cout << '\n';
}
return 0;
}
► Nota :
Codul e copiat cu OCR dintr-un screenshot mai vechi, deci exista posibilitatea sa exista mici probleme. Din ce tin minte rezolvarea era de 100 de puncte.