温馨提示×

c语言怎么实现矩阵的转置

小亿
240
2023-12-11 20:09:45
栏目: 编程语言

要实现矩阵的转置,可以使用二维数组来表示矩阵。以下是一个示例代码:

#include <stdio.h>

#define ROW 3
#define COL 3

void transpose(int matrix[ROW][COL], int result[COL][ROW]) {
    for (int i = 0; i < ROW; i++) {
        for (int j = 0; j < COL; j++) {
            result[j][i] = matrix[i][j];
        }
    }
}

int main() {
    int matrix[ROW][COL] = {{1, 2, 3},
                            {4, 5, 6},
                            {7, 8, 9}};
    int result[COL][ROW];

    transpose(matrix, result);

    printf("Original Matrix:\n");
    for (int i = 0; i < ROW; i++) {
        for (int j = 0; j < COL; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }

    printf("\nTransposed Matrix:\n");
    for (int i = 0; i < COL; i++) {
        for (int j = 0; j < ROW; j++) {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }

    return 0;
}

在上面的示例代码中,我们定义了一个函数transpose来实现矩阵的转置。该函数接受两个参数,分别是原始矩阵和转置结果矩阵。函数中使用两个嵌套循环来遍历原始矩阵的每个元素,并将其赋值给转置结果矩阵对应位置的元素。

main函数中,我们定义了一个3x3的矩阵matrix,并调用transpose函数来计算矩阵的转置。最后,我们使用两个嵌套循环来分别打印原始矩阵和转置后的矩阵。

0