Задан квадратный массив А из N строк и N столбцов, N – нечетное число. В предложенном массиве можно выделить ДВЕ диагонали. Эти диагонали отчерчивают четыре треугольника с числами. Произвести замену верхнего и нижнего треугольников, правого и левого треугольников. НАПИСАТЬ НА C++!
Пример на фото: 1 матрица исходная, 2 матрица после замены.

Приложения:

Ответы

Ответ дал: maxpavlutenkof
0

#include <iostream>

using namespace std;

int main()

{

const int n = 7;

int mas[n][n] = {

{0, 1, 1, 1, 1, 1, 0},

{3, 0, 1, 1, 1, 0, 4},

{3, 3, 0, 1, 0, 4, 4},

{3, 3, 3, 0, 4, 4, 4},

{3, 3, 0, 2, 0, 4, 4},

{3, 0, 2, 2, 2, 0, 4},

{0, 2, 2, 2, 2, 2, 0}};//инициализируем матрицу

for (int jjj = 0; jjj < (n - 1) / 2; jjj++)

for (int kkk = 1; kkk < n - 1; kkk++)

swap(mas[jjj][kkk], mas[n - 1 - jjj][kkk]);// меняем верхний с нижним

for (int jjj = 0; jjj < (n - 1) / 2; jjj++)

for (int kkk = 1; kkk < n - 1; kkk++)

swap(mas[kkk][jjj], mas[kkk][n - 1 - jjj]);// меняем правый с левым

for (int jjj = 0; jjj < n; jjj++)

{

for (int kkk = 0; kkk < n; kkk++)

cout << mas[jjj][kkk] << " ";

cout << endl;

};//выводим матрицу

}

Вас заинтересует