温馨提示×

c语言如何求矩阵的转置

小亿
97
2024-03-28 14:44:06
栏目: 编程语言

可以通过以下方法来求一个矩阵的转置:

#include <stdio.h>

#define ROWS 3
#define COLS 3

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

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

    transpose(matrix, result);

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

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

    return 0;
}

在这个程序中,我们首先定义了一个 transpose 函数来求矩阵的转置。然后在 main 函数中定义了一个 3x3 的矩阵 matrix,并调用 transpose 函数来求其转置,并将结果保存在 result 矩阵中。最后分别输出原始矩阵和转置后的矩阵。

0