#include void main() { void mprint(float a[5][6], int ii, int jj, char *aname); void mprint2(float a[4][5], int ii, int jj, char *aname); float a[4][5], b[4][5], c[5][6]; int i, j; for ( i=0; i<=3; i++) { for (j=0; j<=4; j++) { a[i][j] = 10./(i+j+2); b[i][j] = 2. * (i-j); } } for (i=0; i<=4; i++) { for (j=0; j<=5; j++) { c[i][j] = 10./(2. * (i+1) + j + 1); } } mprint2(a,4,5,"a "); mprint2(b,4,5,"b "); mprint(c,5,6,"c "); } void mprint(float a[5][6], int ii, int jj, char *aname) { int nn, ja, jb, i, j, n, k; nn = (jj + 5)/6.; jb = 0; for (n = 1; n<=nn; n++) { ja = jb + 1; jb = ja + 5; if (jj<(ja + 5)) jb = jj; printf("\n\n matrix %s ", aname); printf("\n row/col"); for (j=ja; j<=jb; j++) printf("%6d ",j); printf("\n"); for (i=0; i<=ii-1; i++) { printf("\n %d ", i+1); for (j=ja-1; j<=jb-1; j++) printf("%12.4e", *(*(a + i) + j)); } } } void mprint2(float a[4][5], int ii, int jj, char *aname) { int nn, ja, jb, i, j, n, k; nn = (jj + 5)/6.; jb = 0; for (n = 1; n<=nn; n++) { ja = jb + 1; jb = ja + 5; if (jj<(ja + 5)) jb = jj; printf("\n\n matrix %s ", aname); printf("\n row/col"); for (j=ja; j<=jb; j++) printf("%6d ",j); printf("\n"); for (i=0; i<=ii-1; i++) { printf("\n %d ", i+1); for (j=ja-1; j<=jb-1; j++) printf("%12.4e", *(*(a + i) + j)); } } }