怎么讲2✖️3数组转化为3✖️2数组
时间: 2024-12-08 12:21:22 浏览: 9
在C语言中,要将一个2×3的数组转换为3×2的数组(即矩阵转置),你可以遍历原数组,然后重新填充到新的二维数组中。这里是简单的步骤:
1. 创建一个新的3×2的二维数组,大小足够存储转置后的元素。
2. 使用两层循环:外层循环用于行数(从0开始),内层循环用于列数(同样从0开始)。
3. 内层循环每次将当前行的值赋给新数组对应列的位置,即新数组[row][col] = 原数组[col][row]。
4. 当所有元素都复制完毕后,新数组就转换好了。
以下是一个示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 2
void transpose(int source[ROWS][COLS], int result[ROWS][COLS]) {
for (int i = 0; i < ROWS; ++i) { // 外层循环 - 行
for (int j = 0; j < COLS; ++j) { // 内层循环 - 列
result[j][i] = source[i][j]; // 将源数组元素复制到结果数组相应位置
}
}
}
int main() {
int original[2][3] = {{1, 2, 3}, {4, 5, 6}}; // 原始2x3数组
int transposed[ROWS][COLS]; // 新的3x2数组
transpose(original, transposed); // 转置
printf("Original array:\n");
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
printf("%d ", original[i][j]);
}
printf("\n");
}
printf("\nTransposed array:\n");
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
运行这段代码后,你会看到原始2×3数组和其转置的3×2数组。
阅读全文