array-07.c

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

void main(void)
{
   int Data[9][7] = { 0, 0, 0, 0, 0, 0, 0,
                      0, 3, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0,
                      1, 4, 0, 0, 0, 0, 0,
                      0, 0, 7, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 5, 0,
                      0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0 };
    int CompressData[10][3];
    int Index;
    int i, j;

    Index = 0;

    printf("Two dimensional sparse array:\n");
    for(i = 0; i < 9; i++)
    {
        for(j = 0; j < 7; j++)
            printf("%3d", Data[i][j]);
        printf("\n");
    }

    for(i = 0; i < 9; i++)
        for(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("Two dimensional compress array:\n");
    for(i = 0; i <= Index; i++)
    {
        for(j = 0; j < 3; j++)
            printf("%3d", CompressData[i][j]);
        printf("\n");
    }
}

  

猜你喜欢

转载自www.cnblogs.com/lifelessfaultless/p/9292028.html