// создание и ввод матрицы
int n;
cin >> n;
vector<vector<int>> matrix(n, vector<int>(n));
for (auto &row: matrix) {
for (auto &cell: row) {
cin >> cell;
}
}
// обмен диагоналей
for (int i = 0; i < n; ++i) {
int tmp = matrix[i][i];
matrix[i][i] = matrix[i][n - i - 1];
matrix[i][n - i - 1] = tmp;
}
// вывод матрицы
for (auto &row: matrix) {
for (auto cell: row) {
cout << cell << ' ';
}
cout << '\n';
}
В стиле языка C:
int n, matrix[10][10];
cin >> n;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cin >> matrix[i][j];
}
}
// эта часть кода никак не меняется
for (int i = 0; i < n; ++i) {
int tmp = matrix[i][i];
matrix[i][i] = matrix[i][n - i - 1];
matrix[i][n - i - 1] = tmp;
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cout << matrix[i][j] << ' ';
}
cout << '\n';
}
Дан квадратный массив. Поменяйте местами в каждом столбце элементы, стоящие на главной и побочной диагоналях.
Главная диагональ в квадратном массиве идет из левого верхнего угла в правый нижний угол, а побочная — из правого верхнего в левый нижний.
Входные данные
В первой строке дано число n⩽10
. Далее идут n строк по n неотрицательных целых чисел не больше 100
.
Выходные данные
Выведите ответ к задаче.