溫馨提示×

c語言二維數組行列互換的方法是什么

小億
278
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女