fork download
  1. #include <stdio.h>
  2. int main(){
  3. int m,n,p,q,i,j,k;
  4. scanf("%d%d",&m,&n);
  5. scanf("%d%d",&p,&q);
  6. if(n!=p){ printf("Incompatible\n"); return 0; }
  7.  
  8. int A[m][n],B[p][q],C[m][q];
  9. for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&A[i][j]);
  10. for(i=0;i<p;i++) for(j=0;j<q;j++) scanf("%d",&B[i][j]);
  11.  
  12. for(i=0;i<m;i++) for(j=0;j<q;j++){
  13. C[i][j]=0;
  14. for(k=0;k<n;k++) C[i][j]+=A[i][k]*B[k][j];
  15. }
  16.  
  17. printf("Matrix A:\n");
  18. for(i=0;i<m;i++){ for(j=0;j<n;j++) printf("%d ",A[i][j]); printf("\n"); }
  19. printf("Matrix B:\n");
  20. for(i=0;i<p;i++){ for(j=0;j<q;j++) printf("%d ",B[i][j]); printf("\n"); }
  21. printf("Result:\n");
  22. for(i=0;i<m;i++){ for(j=0;j<q;j++) printf("%d ",C[i][j]); printf("\n"); }
  23. }
  24.  
Success #stdin #stdout 0s 5304KB
stdin
2 3 
3 2
1 2 3 4 5 6 
7 8 9 10 11 12
stdout
Matrix A:
1 2 3 
4 5 6 
Matrix B:
7 8 
9 10 
11 12 
Result:
58 64 
139 154