Написать функцию, которая транспонирует квадратную матрицу - C (СИ)

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

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

Написать функцию, которая транспонирует квадратную матрицу.Входной параметр матрица На си.

Решение задачи: «Написать функцию, которая транспонирует квадратную матрицу»

textual
Листинг программы
  1. #include <stdio.h>
  2. //Написать функцию, которая транспонирует квадратную матрицу.Входной параметр матрица
  3. const int N = 5;
  4. const int M = 5;
  5. void transpose_matrix(int A[N][M])
  6. {
  7.     int i, j, x;
  8.     for(i = 0; i < N; i++){
  9.         for(j = i; j < M ; j++){
  10.             if(i != j){
  11.                 x = A[i][j];
  12.                 A[i][j] = A[j][i];
  13.                 A[j][i] = x;
  14.             }
  15.         }
  16.     }
  17. }
  18. int main()
  19. {
  20.     int i, j, A[5][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
  21.     for(i = 0; i < N; i++){//вывод исходной матрицы на экран просто для наглядности,если этого не
  22.         for(j = 0; j < M; j++)//требуется-удалите строки 21-27
  23.             printf("%3d", A[i][j]);
  24.         printf("\n");
  25.  
  26.     }
  27.     printf("\n\n");
  28.     transpose_matrix(A);
  29.     for(i = 0; i < N; i++){
  30.         for(j = 0; j < M; j++)
  31.             printf("%3d", A[i][j]);
  32.         printf("\n");
  33.  
  34.     }
  35.     return 0;
  36. }

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

  1. Включаем заголовочный файл stdio.h для использования функций ввода-вывода
  2. Задаем константы N и M, которые определяют размерность матрицы
  3. Объявляем функцию transpose_matrix, которая будет транспонировать матрицу
  4. Внутри функции объявляем переменные i, j, x, которые будут использоваться в цикле
  5. Используем два вложенных цикла для прохода по всем элементам матрицы. Внешний цикл идет по строкам, внутренний - по столбцам
  6. Внутренний цикл проверяет, не является ли текущий элемент диагональным элементом (если i=j, то элементы обнуляются)
  7. Если условие выполняется, то текущий элемент присваивается переменной x, а затем элементы A[i][j] и A[j][i] заменяются на x
  8. В функции main создаем массив A[5][5] и инициализируем его значениями для наглядности
  9. Выводим исходную матрицу на экран с помощью двух вложенных циклов и функции printf
  10. Вызываем функцию transpose_matrix для транспонирования матрицы
  11. Выводим транспонированную матрицу на экран с помощью двух вложенных циклов и функции printf
  12. Возвращаем 0 из функции main, чтобы указать, что программа успешно завершилась

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


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

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

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы