#include <stdio.h>
#include <stdlib.h>
#include "m.h"
typedef struct tagM33 {
M* m;
} M33;
M33* newM33(void)
{
M33* m33 = (M33*)malloc(sizeof(M33));
int unit[2]={3,3};
m33->m = newM(2, unit);
return(m33);
}
void freeM33(M33* m33)
{
freeM(m33->m);
free(m33);
}
void clearM33(M33* m33)
{
clearM(m33->m);
}
void writeM33(M33* m33, int horizon, int vertical, int value)
{
int index[2]={horizon, vertical};
writeM(m33->m, index, value);
}
int readM33(M33* m33, int horizon, int vertical)
{
int index[2]={horizon, vertical};
return(readM(m33->m, index));
}
void printM33(M33* m33)
{
printM(m33->m);
}
void main()
{
M33* m = newM33();
clearM33(m);
printM33(m);
writeM33(m, 0,0, 11);
writeM33(m, 1,1, 22);
writeM33(m, 2,2, 33);
printM33(m);
printf("[0,0]=%d\n", readM33(m, 0,0));
printf("[1,1]=%d\n", readM33(m, 1,1));
printf("[2,2]=%d\n", readM33(m, 2,2));
freeM33(m);
}