###### tags: `code` # C14086028 homework-5 ```cpp= #include<stdio.h> #include<stdlib.h> #define I 4 #define J 4 double matrixmul(double [I][J],double [I][J]); int main() { double A[I][J] = { {0.1,0.2,0.4,0.3},{0.5,0.2,0.1,0.2},{0.3,0.4,0.2,0.1},{0.15,0.25,0.2,0.4} }; double B[I][J] = { {0} }; /*give value of entries of B[I][J]*/ for (int a = 0; a < I; a++) { for (int b = 0; b < J; b++) { B[a][b] = A[a][b]; } } /*print initial value of entries of A[][] and print n-th power of A[][] */ printf("the matrix A (1-th power A) is \n"); for (int b = 0; b < I; b++) { for (int c = 0; c < J; c++) { printf("%3.20lf\t", B[b][c]); } printf("\n"); } for (int a = 1; a < 15; a++) { matrixmul(A,B); printf("the matrix %d -th power of A is \n\n",a+1); for (int b = 0; b < I; b++) { for (int c = 0; c < J; c++) { printf("%3.20lf\t", B[b][c]); } printf("\n"); } printf("\n"); } system("pause\n"); return 0; } double matrixmul(double A[I][J], double B[I][J]) { double C[I][J] = { { } }; for (int k = 0; k < I; k++) { for (int i = 0; i < I; i++) { C[k][i] = 0; for (int j = 0; j < J; j++) { C[k][i] += A[k][j] * B[j][i]; } } } for (int i = 0; i < I; i++) { for (int j = 0; j < J; j++) { B[i][j] = C[i][j]; } } return 0; } ```