1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| int n, m; int k; struct matrix{ int c[101][101]; matrix(){memset(c,0,sizeof c);} }; matrix operator*(matrix &a,matrix &b){ matrix t; for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ for(int g=1;g<=m;g++){ t.c[i][j]+=a.c[i][g]*b.c[g][j]; } } } return t; } void solve(){ cin>>n>>m>>k; matrix a,b; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a.c[i][j]; } } for(int i=1;i<=m;i++){ for(int j=1;j<=k;j++){ cin>>b.c[i][j]; } } matrix ans=a*b; for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ cout<<ans.c[i][j]<<" "; } cout<<endl; } }
|