Повернуть матрицу симметрично относительно главной диагонали - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: Повернуть матрицу симметрично относительно главной диагонали. Написать программу, в которой введение массива выполняется в отдельной функции. Затем этот массив передается в главную функцию. Главная функция передает массив в другую функцию, которая обрабатывает массив и выводит результат. Ввод массива оформить в виде функции VVOD (), обработку и вывод массива в виде функции ОВR ().

Решение задачи: «Повернуть матрицу симметрично относительно главной диагонали»

textual
Листинг программы
#include <stdio.h>
int** cr_matr(int col,int str) //Создаем матрицу размера col*str
{
    int **a = (int **) calloc(str,sizeof(int *));
    for (int i=0;i < str;i++)
        a[i] = (int *) calloc(col,sizeof(int));
    return a;
}
void VVOD(int **arr, int m, int n)
{
        for(int i = 0; i < n; i++)
              for(int j = 0; j < m; j++)
               scanf("%i",&arr[i][j]);
}
void OBR (int **arr,int m,int n)
{
    int i,j,temp;
    for(i=0; i<n; ++i)
     for(j=i; j<m; ++j)
     {
          temp=arr[i][j];
          arr[i][j]=arr[j][i];
          arr[j][i]=temp;
     }
     for(int i = 0; i < n;i++)
         for(int j = 0; j < m; j++)
             printf("%i ",arr[i][j]);
     printf("\n");
}
void main()
{
      int **arr,col,str;
      puts("Введите количество столбцов:");
      scanf("%i",&col);
      puts("Введите количество строк:");
      scanf("%i",&str);
      arr = cr_matr(col,str);
      VVOD(arr,col,str);
      OBR(arr,col,str);
}

Объяснение кода листинга программы

  1. Создаем матрицу размера col*str, используя функцию cr_matr.
  2. С помощью функции VVOD заполняем матрицу значениями.
  3. С помощью функции OBR поворачиваем матрицу симметрично относительно главной диагонали.
  4. Выводим результат на экран.

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


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

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

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