Транспонирование матрицы. Содержание квадратной матрицы повернуть относительно центра на 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();
 }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы