c语言二维数组行列互换怎么实现

   2025-02-13 7220
核心提示:要实现二维数组的行列互换,可以通过两层循环来完成。具体步骤如下:定义一个新的二维数组,用于存储行列互换后的结果。使用两层

要实现二维数组的行列互换,可以通过两层循环来完成。具体步骤如下:

定义一个新的二维数组,用于存储行列互换后的结果。使用两层循环遍历原始二维数组的每个元素。将原始数组的行索引作为新数组的列索引,将原始数组的列索引作为新数组的行索引,将对应的元素值复制到新数组中。最后,新数组的行数等于原始数组的列数,新数组的列数等于原始数组的行数。

下面是一个示例代码:

#include <stdio.h>#define ROWS 3#define COLS 4void transpose(int arr[][COLS], int transposed[][ROWS]) {    for (int i = 0; i < ROWS; i++) {        for (int j = 0; j < COLS; j++) {            transposed[j][i] = arr[i][j];        }    }}int main() {    int arr[ROWS][COLS] = {{1, 2, 3, 4},                           {5, 6, 7, 8},                           {9, 10, 11, 12}};    int transposed[COLS][ROWS];    transpose(arr, transposed);    printf("Original array:\n");    for (int i = 0; i < ROWS; i++) {        for (int j = 0; j < COLS; j++) {            printf("%d ", arr[i][j]);        }        printf("\n");    }    printf("\nTransposed array:\n");    for (int i = 0; i < COLS; i++) {        for (int j = 0; j < ROWS; j++) {            printf("%d ", transposed[i][j]);        }        printf("\n");    }    return 0;}

运行该代码,输出结果为:

Original array:1 2 3 45 6 7 89 10 11 12Transposed array:1 5 92 6 103 7 114 8 12

可以看到,原始数组的行列互换后,得到的新数组的行数等于原始数组的列数,新数组的列数等于原始数组的行数。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言