2012/11/24

資料結構 二維陣列轉成一維陣列

將二維陣列轉成一維陣列有分行跟列的轉法





#include <stdio.h>
#include <stdlib.h>

void main()
{
    int Data [5][4]={
        9,7,6,6,
        3,5,3,3,
        6,6,4,7,
        7,5,1,4,
        1,2,8,0};

    int RowData[20];
    int ColData[20];

    printf("轉換前的陣列資料\n");
    for(int i=0;i<5;i++){
        for(int j=0;j<4;j++){
            printf("%3d",Data[i][j]);
            RowData[i*4+j]=Data[i][j];
            ColData[j*5+i]=Data[i][j];
        }
        printf("\n");
    }

    printf("以列為主的一維陣列\n");
    for(int i=0;i<20;i++){
        printf("%2d",RowData[i]);
    }
    printf("\n");

    printf("以行為主的一維陣列\n");
    for(int i=0;i<20;i++){
        printf("%2d",RowData[i]);
    }
    printf("\n");

    system("pause");
}

參考資料:
資料結構 黃國瑜/葉乃菁