#include #include #define NVAR 6 typedef struct { int nterm; int (*term)[1+NVAR]; } mvpoly; void polyprint ( mvpoly f ) { int i, k; for (i=0; i=0)) printf("+"); if (f.term[i][0] != 1) printf("%d", f.term[i][0]); for (k=1; k<=NVAR; ++k) { if (f.term[i][k]) printf("%c",'a'+(char)(k-1)); if (f.term[i][k]>1) printf("^%d", f.term[i][k]); } } } mvpoly setpoly () { mvpoly h; int i, k; h.nterm = NVAR; h.term = (int (*)[1+NVAR])malloc(NVAR * sizeof(int[1+NVAR])); for (i=0; i