如何使用C程序计算矩阵的转置?
矩阵转置
矩阵的转置是其转置是原始矩阵的列的转置,即,如果A和B是两个矩阵,使得矩阵B的行是矩阵A的列,则矩阵B被称为矩阵的转置。矩阵A
将m(i,j)矩阵更改为的逻辑m(j,i)如下-
for (i = 0;i < m;i++)for (j = 0; j < n; j++)
transpose[j][i] = matrix[i][j];
程序1
在此示例中,我们将使用 for loop打印矩阵的转置。
#include <stdio.h>输出结果int main(){
int m, n, i, j, matrix[10][10], transpose[10][10];
printf("Enter rows and columns :\n");
scanf("%d%d", &m, &n);
printf("Enter elements of the matrix\n");
for (i= 0; i < m; i++)
for (j = 0; j < n; j++)
scanf("%d", &matrix[i][j]);
for (i = 0;i < m;i++)
for (j = 0; j < n; j++)
transpose[j][i] = matrix[i][j];
printf("Transpose of the matrix:\n");
for (i = 0; i< n; i++) {
for (j = 0; j < m; j++)
printf("%d\t", transpose[i][j]);
printf("\n");
}
return 0;
}
Enter rows and columns :2 3
Enter elements of the matrix
1 2 3
2 4 5
Transpose of the matrix:
1 2
2 4
3 5
程序2
#include<stdio.h>输出结果#define ROW 2
#define COL 5
int main(){
int i, j, mat[ROW][COL], trans[COL][ROW];
printf("Enter matrix: \n");
// 输入矩阵
for(i = 0; i < ROW; i++){
for(j = 0; j < COL; j++){
scanf("%d", &mat[i][j]);
}
}
// 创建转置
for(i = 0; i < ROW; i++){
for(j = 0; j < COL; j++){
trans[j][i] = mat[i][j];
}
}
printf("\nTranspose matrix: \n");
// 打印转置
for(i = 0; i < COL; i++){
for(j = 0; j < ROW; j++){
printf("%d ", trans[i][j]);
}
printf("\n");
}
return 0;
}
Enter matrix:1 2 3 4 5
5 4 3 2 1
Transpose matrix:
1 5
2 4
3 3
4 2
5 1
以上是 如何使用C程序计算矩阵的转置? 的全部内容, 来源链接: utcz.com/z/344791.html