#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgp2b2lkIHN3YXAoaW50ICphLCBpbnQgKmIpIHsKICBpbnQgdGVtcCA9ICphOwogICphID0gKmI7CiAgKmIgPSB0ZW1wOwp9CgoKdm9pZCBzb3J0TWFpbkRpYWdvbmFsKGludCAqKmFyciwgaW50IG4pIHsKICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgZm9yIChpbnQgaiA9IDA7IGogPCBuIC0gaSAtIDE7IGorKykgewogICAgICBpZiAoYXJyW2pdW2pdIDwgYXJyW2ogKyAxXVtqICsgMV0pIHsKICAgICAgICBzd2FwKCZhcnJbal1bal0sICZhcnJbaiArIDFdW2ogKyAxXSk7CiAgICAgIH0KICAgIH0KICB9Cn0KCgp2b2lkIHByaW50QXJyYXkoaW50ICoqYXJyLCBpbnQgbikgewogIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykgewogICAgICBjb3V0IDw8IGFycltpXVtqXSA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CiAgCQogIH0KfQoKaW50IG1haW4oKSB7CiAgaW50IG47IAogIAogIAogIGNvdXQgPDwgItCS0LLQtdC00LjRgtC1INGA0LDQt9C80LXRgNC90L7RgdGC0Ywg0LzQsNGB0YHQuNCy0LAgKG4pOiAiOwogIGNpbiA+PiBuOwoKICBpbnQgKiphcnIgPSBuZXcgaW50KltuXTsKICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgYXJyW2ldID0gbmV3IGludFtuXTsKICB9CgoKICBjb3V0IDw8ICLQktCy0LXQtNC40YLQtSDRjdC70LXQvNC10L3RgtGLINC80LDRgdGB0LjQstCwOiIgPDwgZW5kbDsKICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspIHsKICAgICAgY2luID4+IGFycltpXVtqXTsKICAgIH0KICB9CgogIHNvcnRNYWluRGlhZ29uYWwoYXJyLCBuKTsKICBjb3V0IDw8ICLQntGC0YHQvtGA0YLQuNGA0L7QstCw0L3QvdGL0Lkg0LzQsNGB0YHQuNCyOiIgPDwgZW5kbDsKICBwcmludEFycmF5KGFyciwgbik7CgogIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICBkZWxldGVbXSBhcnJbaV07CiAgfQogIGRlbGV0ZVtdIGFycjsKCiAgcmV0dXJuIDA7Cn0=