Транспонирование матрицы - C (СИ) (71022)

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

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

Помогите на чистом си) Транспонироватьь матрицу Например: А= 1 2 4 0 9 5 8 6 3 Должна получится матрица B = 1 0 8 2 9 6 4 5 3

Решение задачи: «Транспонирование матрицы»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. void print_matrix(int (*arr)[], int size);
  4. void transpose_matrix(int (*arr1)[], int (*arr2)[], int size);
  5.  
  6. int main(void)
  7. {
  8.   int A[3][3]={{1,2,4},{0,9,5},{8,6,3}};
  9.   int B[3][3];
  10.  
  11.   print_matrix(A, 3);
  12.   printf("\n");
  13.   transpose_matrix(A, B, 3);
  14.   print_matrix(B, 3);
  15.   printf("\n");
  16. }
  17.  
  18. void print_matrix(int (*arr)[], int size) {
  19.   int (*arrPtr)[size] = arr;
  20.   int i, j;
  21.  
  22.   for (i = 0; i < size; i++) {
  23.     for (j = 0; j < size; j++)
  24.       printf("%d ", (*arrPtr)[j]);
  25.     arrPtr++;
  26.     printf("\n");
  27.   }
  28. }
  29.  
  30. void transpose_matrix(int (*arr1)[], int (*arr2)[], int size) {
  31.   int (*arrPtr1)[size] = arr1;
  32.   int (*arrPtr2)[size] = arr2;
  33.   int i, j;
  34.  
  35.   for (i = 0; i < size; i++) {
  36.     for (j = 0; j < size; j++)
  37.       arrPtr2[j][i] = arrPtr1[i][j];
  38.   }
  39. }

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

Вот что происходит в этом коде:

  1. Создается матрица A размером 3x3 и инициализируется значениями 1, 2, 4; 0, 9, 5; 8, 6, 3.
  2. Создается матрица B такого же размера, что и A.
  3. Вызывается функция print_matrix, которая выводит матрицу A на экран.
  4. Выполняется операция транспонирования матрицы A, используя функцию transpose_matrix.
  5. Результат транспонирования сохраняется в матрице B.
  6. Выводится матрица B на экран. Функция print_matrix принимает указатель на матрицу и размер матрицы в качестве аргументов. Она использует два вложенных цикла для перебора всех элементов матрицы и вывода их на экран. Функция transpose_matrix принимает указатели на две матрицы и размер матрицы в качестве аргументов. Она использует два вложенных цикла для перебора всех элементов матрицы arr1 и сохранения их в матрице arr2 в соответствии с правилами транспонирования.

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


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

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

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

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

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

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