Поменять местами диагонали матрицы - C (СИ)
Формулировка задачи:
Поменять местами диагональ которая находится над главной, с диагональю которая находится под побочной диагоналями
Решение задачи: «Поменять местами диагонали матрицы»
textual
Листинг программы
#include <stdio.h>
#define N 5
int main(void){
int t, i, j;
int m[N][N] = {
{-1, 1, 1, 1, 1},
{ 9, -2, 2, 1, 1},
{ 0, 8, -3, 3, 1},
{ 0, 0, 7, -4, 4},
{ 0, 0, 0, 6, -5}
};
//обмен
for(i = 1; i < N; ++i){
j = i - 1;
t = m[j][i];
m[j][i] = m[i][j];
m[i][j] = t;
}
//вывод
for(i = 0; i < N; ++i){
for(j = 0; j < N; ++j)
printf("% 2d ", m[i][j]);
putchar('\n');
}
return 0;
}
Объяснение кода листинга программы
- Включаем файл, который позволяет использовать функции ввода-вывода
- Определяем размер матрицы N = 5
- Создаём двумерный массив m[N][N] и инициализируем его значениями
- Проходим по всем элементам матрицы, начиная со второго элемента и до предпоследнего
- Меняем местами значения элементов t и m[i][j]
- Выводим значения матрицы на экран, используя функцию printf