利用二维数组实现矩阵转置,键盘输入矩阵行列和元素,显示初始矩阵,将矩阵转置,显示转置后的矩阵。初始矩阵数据为2,0,2,4,0,2,6,5,7,3,6,35
时间: 2024-12-17 15:28:53 浏览: 3
PHP简单实现二维数组的矩阵转置操作示例
要使用二维数组实现矩阵转置,你需要首先定义一个二维数组来存储矩阵,然后让用户输入矩阵的行数和列数以及每个元素。接着,你可以创建一个新的二维数组,大小与原矩阵的列数和行数相同,用来存放转置后的矩阵。接下来,遍历原矩阵并把相应的元素复制到新矩阵的对应位置。最后,打印原始矩阵和转置后的矩阵。
以下是一个简单的C程序,实现了这个过程:
```c
#include <stdio.h>
#define ROWS 4 // 假设用户输入的行数
#define COLS 3 // 假设用户输入的列数
int main() {
int matrix[ROWS][COLS]; // 存储初始矩阵
int transposed[COLS][ROWS]; // 存储转置后的矩阵
// 用户输入矩阵元素
printf("Enter the elements of the matrix (row-major order):\n");
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 打印初始矩阵
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");
}
// 矩阵转置
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLS; j++) {
transposed[j][i] = matrix[i][j];
}
}
// 打印转置后的矩阵
printf("Transposed 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;
}
```
阅读全文