###### 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;
}
```