Транспонирование матрицы. Содержание квадратной матрицы повернуть относительно центра на 90*. - C (СИ)
Формулировка задачи:
Задача: Содержание квадратной матрицы повернуть относительно центра на 90*. Вот моя версия, она меняет местами четвертинки матрицы, а нужно еще поменять элементы внутри этих четвертинок.
Помогите, пожалуйста, доделать!!!!!
#include<stdio.h> #include<math.h> #include<windows.h> void main() { int A[10][10],n,N; int i,j,b,c; SetConsoleOutputCP(1251); printf("введите размерность матрицы\n"); scanf("%d",&n); N=2*n; printf("введите элементы матрицы A:"); for(i=0;i<N;i++) for(j=0;j<N;j++) { printf("A[%d,%d]=",i,j); scanf("%d",&A[i][j]); } printf("матрица A:\n"); for(i=0;i<N;i++) {for(j=0;j<N;j++) printf("%6d",A[i][j]); printf("\n"); } for(i=0;i<n;i++) for(j=0;j<n;j++) { b=A[i][j]; A[i][j]=A[n+i][j]; A[n+i][j]=A[n+i][n+j]; A[n+i][n+j]=A[i][n+j]; A[i][n+j]=b; } printf("матрица A:\n"); for(i=0;i<N;i++) {for(j=0;j<N;j++) printf("%6d",A[i][j]); printf("\n"); } getchar();getchar(); }
Решение задачи: «Транспонирование матрицы. Содержание квадратной матрицы повернуть относительно центра на 90*.»
textual
Листинг программы
#include<stdio.h> #include<math.h> #include<windows.h> void main() { int A[10][10],n,N; int i,j,b; SetConsoleOutputCP(1251); printf("введите размерность матрицы\n"); scanf("%d",&n); N=2*n; printf("введите элементы матрицы A:"); for(i=0;i<N;i++) for(j=0;j<N;j++) { printf("A[%d,%d]=",i,j); scanf("%d",&A[i][j]); } printf("матрица A:\n"); for(i=0;i<N;i++) {for(j=0;j<N;j++) printf("%6d",A[i][j]); printf("\n"); } for(i=0;i<n;i++) for(j=i;j<N-1-i;j++) { b=A[i][j]; A[i][j]=A[N-1-j][i]; A[N-1-j][i]=A[N-1-i][N-1-j]; A[N-1-i][N-1-j]=A[j][N-1-i]; A[j][N-1-i]=b; } printf("матрица A:\n"); for(i=0;i<N;i++) {for(j=0;j<N;j++) printf("%6d",A[i][j]); printf("\n"); } getchar();getchar(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д