#include <stdio.h> #include <stdlib.h> void main() { int Data[9][7]={ 0,0,0,0,0,0,0, 0,3,0,0,7,0,0, 0,0,0,0,0,9,0, 1,4,0,0,0,0,0, 0,0,7,0,10,0,0, 0,0,0,0,0,5,0, 0,0,0,0,0,0,0, 0,0,8,0,6,0,0, 0,0,0,0,0,0,0,}; int CompressData [11][3]; int Index = 0; printf("矩陣壓縮前的資料\n"); for(int i=0;i<9;i++){ for(int j=0;j<7;j++){ printf("%4d",Data[i][j]); } printf("\n"); } for(int i=0;i<9;i++){ for(int j=0;j<7;j++){ if(Data[i][j]!=0){ Index++; CompressData[Index][0] = i ; CompressData[Index][1] = j ; CompressData[Index][2] = Data[i][j] ; } } } CompressData[0][0] = 9 ; CompressData[0][1] = 7 ; CompressData[0][2] = Index ; printf("\n壓縮過後的資料\n"); for(int i=0;i<=Index;i++){ for(int j=0;j<3;j++){ printf("%4d",CompressData[i][j]); } printf("\n"); } system("pause"); }
參考資料:
資料結構 黃國瑜/葉乃菁