矩阵转置 描述:定义一个 3 行 4 列的二维数组,输入矩阵元素,然后将该矩阵进行转置并输出。转置后的矩阵是将原矩阵的行变为列,列变为行。
时间: 2024-11-20 19:34:48 浏览: 5
C语言数组二
矩阵转置是指将矩阵的行转换为列,列转换为行的操作。对于一个给定的m行n列的矩阵A,其转置记作A^T或transpose(A),结果得到一个新的n行m列的矩阵。
以下是一个简单的C语言示例,用来定义一个3行4列的二维数组,获取用户输入,然后对矩阵进行转置并打印:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
// 函数声明
void transpose(int matrix[ROWS][COLS], int transposed[COLS][ROWS]);
int main() {
int original[ROWS][COLS];
int transposed[COLS][ROWS];
// 输入原始矩阵元素
printf("Enter elements of a 3x4 matrix:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
scanf("%d", &original[i][j]);
}
}
// 转置矩阵
transpose(original, transposed);
// 输出转置后的矩阵
printf("\nTransposed Matrix:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
// 定义转置函数
void transpose(int matrix[ROWS][COLS], int transposed[COLS][ROWS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed[j][i] = matrix[i][j]; // 存储转置元素
}
}
}
```
运行这段代码后,你可以按照提示输入一个3行4列的矩阵,程序会输出它的转置矩阵。如果你有任何关于这个过程的问题,或者遇到具体编程时的问题,请告诉我。
阅读全文