C 语言程序,用于读取并查找矩阵的转置


2022 年 5 月 5 日, Learn eTutorial
1218

什么是矩阵的转置?

在这个 C 语言程序中,我们需要计算输入矩阵的**转置**。矩阵的转置意味着我们需要将所有行中的元素更改为列,并将所有列中的元素更改为行。转置是由 Clayey 在 1858 年引入的。

例如,我们假设一个矩阵为 **[1 2 3]**,当我们计算该矩阵的转置时,它应该像这样。

[1
2
3] 

 

这意味着我们必须互换行和列。

如何查找矩阵的转置?

在这里,我们接受用户输入的矩阵。我们更改元素的顺序。我们将行转换为列,将列转换为行。最后,我们以矩阵格式分别显示输入的矩阵和输出矩阵。

这个程序的逻辑是首先从用户那里读取矩阵的阶数。接受用户输入的元素,并使用嵌套的 `for 循环`将其添加到矩阵中。之后显示矩阵,然后通过更改矩阵 'A' 的元素位置来找出矩阵 'b' 的转置。 "A[j][i] = B[i][j]。" 之后,我们使用嵌套的 `for 循环`显示转置矩阵。

算法

第一步: 包含头文件,以便在C程序中使用内置函数。

步骤 2:在 C 语言程序中初始化并定义矩阵和要使用的变量。

步骤 3:使用 C 语言编程中的 `printf` 和 `scanf` 函数接受**矩阵 A** 的阶数。

步骤 4:使用嵌套的 `for 循环`和 `scanf` 函数接受**矩阵 A** 的元素。

步骤 5:使用嵌套的 `for 循环`和 `printf` 函数显示**矩阵 A**。

步骤 6:使用嵌套的 `for 循环`查找矩阵的转置,并将 **B[i][j]=A[j][i]**,其中 'B' 是转置矩阵。

步骤 7:使用 C 语言中的嵌套 `for 循环`和 `printf` 函数显示转置矩阵 'B'。

C 语言源代码

                                          #include <stdio.h>


void main()
{
  int i, j, M, N;
  int A[10][10], B[10][10];

  printf("Enter the order of matrix A\n");
  scanf("%d %d", & M, & N);
  printf("Enter the elements of matrix\n"); /* enters the order of matrix with the values for each position of the matrix  */
   for (i = 0; i < M; i++) {
    for (j = 0; j < N; j++) {
      scanf("%d", & A[i][j]);
    }
  }
   printf("The given matrix is \n"); /* just prints the matrix as such */
  for (i = 0; i < M; ++i) {
    for (j = 0; j < N; ++j) {
      printf(" %d", A[i][j]);
    }
    printf("\n");
  }

    /* Finding Transpose of matrix*/

    for (i = 0; i < M; i++) {
      for (j = 0; j < N; j++) {
        B[i][j] = A[j][i]; /* changing the elements of A matrix as per we discussed above */
      }
    }
    printf("Its Transpose is\n");
    for (i = 0; i < M; i++) {
      for (j = 0; j < N; j++) {
        printf(" %d", B[i][j]); /* finally printing the result matrix */
      }
      printf("\n");
    }
  } /*End of main()*/
                                      

输出

Enter the order of matrix A
3 3

Enter the elements of matrix
1
2
3
4
5
6
7
8
9

Matrix A is
1  2  3
4  5  6
7  8  9

Its Transpose is
1  4  7
2  5  8
3  6  9