#include<stdio.h> #include<iostream> #include<string.h> #define N 100 using namespace std; int main(){ int m,n; scanf("%d%d",&n,&m); int a[N][N]; int r[N][N]; int temp[N][N]; int i,j,k; for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=0;i<n;i++) r[i][i]=1; while(m--) { memset(temp,0,sizeof(temp)); for(i=0;i<n;i++) for(j=0;j<n;j++) for(k=0;k<n;k++) temp[i][j]+=r[i][k]*a[k][j]; for(i=0;i<n;i++) for(j=0;j<n;j++) r[i][j]=temp[i][j]; } for(i=0;i<n;i++){ for(j=0;j<n;j++) { printf("%d ",r[i][j]); } printf("\n"); } }
#include<stdio.h> #include<iostream> #include<string.h> using namespace std; int main(){ int m,n; scanf("%d%d",&n,&m); int a[n][n]; int r[n][n]; int temp[n][n]; int i,j,k; for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=0;i<n;i++) r[i][i]=1; while(m--) { memset(temp,0,sizeof(temp)); for(i=0;i<n;i++) for(j=0;j<n;j++) for(k=0;k<n;k++) temp[i][j]+=r[i][k]*a[k][j]; for(i=0;i<n;i++) for(j=0;j<n;j++) r[i][j]=temp[i][j]; } for(i=0;i<n;i++){ for(j=0;j<n;j++) { printf("%d ",r[i][j]); } printf("\n"); } }
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
normalized int a[n][n]; int r[n][n]; int temp[n][n]; n换成常数或者用动态数组
wx_Dispa1r 是不是因为编译器在输入变量前已经申请好了内存(反正记着以后这样用就行了