#include <iostream>
#include <vector>
using namespace std;
// Функция для свопа элементов
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// Функция сортировки главной диагонали
void sortMainDiagonal(int **arr, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j][j] < arr[j + 1][j + 1]) {
swap(&arr[j][j], &arr[j + 1][j + 1]);
}
}
}
}
// Функция печати массива
void printArray(int **arr, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}
int main() {
int n; // Размерность массива
// Ввод размерности массива
cout << "Введите размерность массива (n): ";
cin >> n;
// Динамическое выделение памяти для массива
int **arr = new int*[n];
for (int i = 0; i < n; i++) {
arr[i] = new int[n];
}
// Ввод элементов массива
cout << "Введите элементы массива:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> arr[i][j];
}
}
// Сортировка главной диагонали
sortMainDiagonal(arr, n);
// Вывод отсортированного массива
cout << "Отсортированный массив:" << endl;
printArray(arr, n);
// Освобождение памяти
for (int i = 0; i < n; i++) {
delete[] arr[i];
}
delete[] arr;
return 0;
}