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

typedef struct
{
    int col;
    int row;
    int value;
}MATRIX;

int **array(int rowsint cols)
{
    int **arr;
    int i;

    arr = (int **)malloc(sizeof(int) * rows);
    for (i = 0i < rowsi++)
        arr[i] = (int *)malloc(sizeof(int) * cols);

    return arr;
}

float **farray(int rowsint cols)
{
    float **arr;
    int i;

    arr = (float **)malloc(sizeof(float) * rows);
    for (i = 0i < rowsi++)
        arr[i] = (float *)malloc(sizeof(float) * cols);

    return arr;
}

int *vector(int rows)
{
    int *vec;

    vec = (int *)malloc(sizeof(int) * rows);

    return vec;
}

MATRIX *matrix(int size){
    MATRIX *mat;
    
    mat=(MATRIX *)malloc(sizeof(MATRIX) * (size+1));
    return mat;
}

void freeVector(int *vec)
{
    free(vec);
}

void freeArray(int **arrint rowsint cols)
{
    int rc;
    for (r = 0r < rowsr++)
        freeVector(arr[r]);

    free(arr);
}

void freeMatrix(int *mat)
{
    free(mat);
}

void printArray(int **arrint rowsint colschar *msg)
{
    int rc;

    printf("%s\n"msg);
    for (r = 0r < rowsr++)
    {
        for (c = 0c < colsc++)
            printf("\t %d"arr[r][c]);
        printf("\n");
    }
}

void printfArray(float **arrint rowsint colschar *msg)
{
    int rc;

    printf("%s\n"msg);
    for (r = 0r < rowsr++)
    {
        for (c = 0c < colsc++)
            printf("\t %f"arr[r][c]);
        printf("\n");
    }
}

void sparseArray(int** arrMATRIXmatint rowsint colsint size){
    int i,j;
    mat[0].row=rows;
    mat[0].col=cols;
    mat[0].value=size;
    int k=1;
    for (i = 0i < rowsi++)
        for (j = 0j < colsj++)
            if (arr[i][j]!=0)
                mat[k].row=i;
                mat[k].col=j;
                mat[k].value=arr[i][j];
                k++;
}

int main(){
    int **a;
    int i,j;
    a=array(8,9);
    for ( i = 0i < 8i++)
        for ( j = 0j < 9j++)
            a[i][j] = 0;
    a[0][0]=1;
    a[7][6]=2;
    printArray(a,8,9,"A");
    MATRIX s[3];
    sparseArray(a,s,8,9,2);

}


희소행렬 구하는 거 0 아닌 값 구조체에다 딱 넣는건데 왜 그게 안돼