silentkiler029

Matrix Multiplication

Jun 28th, 2020
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.     int n1, m1, n2, m2;
  6.     int i, j;
  7.  
  8.     scanf("%d %d", &n1, &m1);
  9.  
  10.     int mat1[n1][m1];
  11.  
  12.     for(i = 0; i < n1; i++) {
  13.         for(j = 0; j < m1; j++) {
  14.             scanf("%d", &mat1[i][j]);
  15.         }
  16.     }
  17.  
  18.     scanf("%d %d", &n2, &m2);
  19.  
  20.     int mat2[n2][m2];
  21.  
  22.     for(i = 0; i < n2; i++) {
  23.         for(j = 0; j < m2; j++) {
  24.             scanf("%d", &mat2[i][j]);
  25.         }
  26.     }
  27.  
  28.     if(m1 != n2) {
  29.         printf("Not Possible\n");
  30.         return 0;
  31.     }
  32.  
  33.     int n = n1, m = m2;
  34.     printf("%d %d\n", n, m);
  35.  
  36.     int result[n][m];
  37.     int x, k;
  38.  
  39.     for(i = 0; i < n1; i++) {
  40.         for(j = 0; j < m2; j++) {
  41.             x = 0;
  42.             for(k = 0; k < m1; k++) {
  43.                 x += mat1[i][k] * mat2[k][j];
  44.             }
  45.             printf("%d ", x);
  46.         }
  47.         printf("\n");
  48.     }
  49.  
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment