voidinputa(int a[][N]); voidinputb(int b[][M]); voidmulti(int a[][N], int b[][M], int c[][M]); voidoutput(int c[][M]);
intmain(void) { int a[M][N], b[N][M], c[M][M] = { 0 };
inputa(a); inputb(b); multi(a, b, c); output(c);
return0; }
voidinputa(int a[][N]) { printf("Input %d*%d matrix a:\n", M, N); for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { printf("a[%d,%d]:", i, j); scanf("%d", &a[i][j]); } } }
voidinputb(int b[][M]) { printf("Input %d*%d matrix b:\n", N, M); for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { printf("b[%d,%d]:", i, j); scanf("%d", &b[i][j]); } } }
voidmulti(int a[][N], int b[][M], int c[][M]) { for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { for (int k = 0; k < N; k++) { c[i][j] += a[i][k] * b[k][j]; } } } }
voidoutput(int c[][M]) { printf("Results:\n"); for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { printf("%6d", c[i][j]); } printf("\n"); } }
voidmulti(int a[][N], int b[][M], int c[][M]) { for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { for (int k = 0; k < N; k++) { c[i][j] += a[i][k] * b[k][j]; } } } }