原文: https://www.programiz.com/c-programming/examples/matrix-transpose
在此示例中,您将学习在 C 编程中查找矩阵的转置。
要理解此示例,您应该了解以下 C 编程主题:
矩阵的转置是通过交换行和列而获得的新矩阵。
在该程序中,要求用户输入行数r和列数c。 在此程序中,它们的值应小于 10。
然后,要求用户输入矩阵的元素(顺序为r*c)。
然后,下面的程序计算矩阵的转置并将其打印在屏幕上。
查找矩阵转置的程序
#include <stdio.h>int main() {int a[10][10], transpose[10][10], r, c, i, j;printf("Enter rows and columns: ");scanf("%d %d", &r, &c);// Assigning elements to the matrixprintf("\nEnter matrix elements:\n");for (i = 0; i < r; ++i)for (j = 0; j < c; ++j) {printf("Enter element a%d%d: ", i + 1, j + 1);scanf("%d", &a[i][j]);}// Displaying the matrix a[][]printf("\nEntered matrix: \n");for (i = 0; i < r; ++i)for (j = 0; j < c; ++j) {printf("%d ", a[i][j]);if (j == c - 1)printf("\n");}// Finding the transpose of matrix afor (i = 0; i < r; ++i)for (j = 0; j < c; ++j) {transpose[j][i] = a[i][j];}// Displaying the transpose of matrix aprintf("\nTranspose of the matrix:\n");for (i = 0; i < c; ++i)for (j = 0; j < r; ++j) {printf("%d ", transpose[i][j]);if (j == r - 1)printf("\n");}return 0;}
输出
Enter rows and columns: 23Enter matrix elements:Enter element a11: 1Enter element a12: 4Enter element a13: 0Enter element a21: -5Enter element a22: 2Enter element a23: 7Entered matrix:1 4 0-5 2 7Transpose of the matrix:1 -54 20 7
