Транспонирование матрицы относительно побочной диагонали - C (СИ)
Формулировка задачи:
Друзья! Помогите пожалуйста!!! Есть код программы, которая транспонирует матрицу относительно главной диагонали (он представлен ниже).
ПОМОГИТЕ пожалуйста написать программу для транспонирования матрицы относительно побочной диагонали, причем так, чтобы она меняла местами только 2 числа в углах этой побочной диагонали.
Помогите :o
Поясню на примере: Пусть задана исходная матрица 3х3
1 2 3
4 5 6
7 8 9
А мне нужно, чтобы прога меняла местами только тройку с семеркой, лежащих как раз на побочной диагонали, т.е. вот так:
1 2 7
4 5 6
3 8 9
#include "stdafx.h" #include <math.h> #include <stdio.h> void main() { int i,n,j; float a,b,mas[10][10]; printf("VVedite n= "); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("mas(%d %d)=",i,j); scanf("%f",&mas[i][j]); } } for(j=0;j<n;j++) for(i=0;i<j;i++) { a=mas[j][i]; mas[j][i]=mas[i][j]; mas[i][j]=a; } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%f\t",mas[i][j]); printf("\n"); } scanf("%f",&mas[i][j]); scanf("%f",&n); }
Решение задачи: «Транспонирование матрицы относительно побочной диагонали»
textual
Листинг программы
float temp=mas[0][n-1]; mas[0][n-1]=mas[n-1][0]; mas[n-1][0]=temp;
Объяснение кода листинга программы
- Переменная
temp
инициализируется значениемmas[0][n-1]
. - Значение
mas[0][n-1]
присваивается переменнойmas[n-1][0]
. - Значение
mas[n-1][0]
присваивается переменнойtemp
. - Переменная
temp
не используется в последующем коде. - Предполагается, что массив
mas
содержит элементы, которые могут быть присвоены переменнымmas[0][n-1]
,mas[n-1][0]
. - Предполагается, что индексы массива
mas
начинаются с 0. - Предполагается, что размер массива
mas
достаточен для выполнения операций присваивания. - Предполагается, что код выполняет транспонирование матрицы относительно побочной диагонали.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д