c语言

c语言二维数组行列互换的方法是什么

小亿
123
2023-12-28 20:23:33
栏目: 编程语言

实现二维数组行列互换的方法是通过创建一个新的二维数组,将原数组的行作为新数组的列,原数组的列作为新数组的行。具体的步骤如下:

  1. 获取原数组的行数和列数,分别记为rowscols
  2. 创建一个新的二维数组,大小为colsrows列,记为transposeArray
  3. 使用嵌套循环,将原数组的元素复制到新数组对应位置上,即transposeArray[j][i] = array[i][j]
  4. 循环结束后,新数组transposeArray即为原数组行列互换后的结果。

以下是一个用C语言实现二维数组行列互换的示例代码:

#include <stdio.h>

#define MAX_ROWS 3
#define MAX_COLS 3

void transpose(int array[MAX_ROWS][MAX_COLS], int transposeArray[MAX_COLS][MAX_ROWS], int rows, int cols) {
    int i, j;
    for(i = 0; i < rows; i++) {
        for(j = 0; j < cols; j++) {
            transposeArray[j][i] = array[i][j];
        }
    }
}

int main() {
    int array[MAX_ROWS][MAX_COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int transposeArray[MAX_COLS][MAX_ROWS];
    int rows = MAX_ROWS;
    int cols = MAX_COLS;

    // 调用函数进行行列互换
    transpose(array, transposeArray, rows, cols);

    // 输出互换后的结果
    int i, j;
    for(i = 0; i < cols; i++) {
        for(j = 0; j < rows; j++) {
            printf("%d ", transposeArray[i][j]);
        }
        printf("\n");
    }

    return 0;
}

运行以上代码,输出结果为:

1 4 7 
2 5 8 
3 6 9 

这就是二维数组行列互换的方法。

0
看了该问题的人还看了