C Program Matrix Multiplication
/* C program to multiplication two matrices Matrix Multiplication www.easyCodeBook.com */ #include <stdio.h> int main() { int m, n, p, q, i, j, k; int matrix1[10][10], matrix2[10][10], multiplication[10][10]; printf("Enter number of rows and columns of matrix1\n"); scanf("%d%d", &m, &n); printf("Enter number of rows and columns of matrix2\n"); scanf("%d%d", &p, &q); if (n != p) { printf("Since number of columns of first matrix\n"); printf("is not equal to number of rows of second matrix,\n"); printf("hence both matrices are not multiplication compatible,\n"); printf("and we cannot multiply these matrices.\n"); return 0; } printf("Enter %d elements of matrix1 of %dx%d\n",m*n,m,n); for (i = 0; i < m; i++) for (j = 0; j < n; j++) scanf("%d", &matrix1[i][j]); printf("Enter %d elements of matrix2 of %dx%d\n",p*q,p,q); for (i = 0; i < p; i++) for (j = 0; j < q; j++) scanf("%d", &matrix2[i][j]); for (i = 0; i < m; i++) for (j = 0; j < q; j++) { multiplication[i][j]=0; for (k = 0; k < p; k++) multiplication[i][j] = multiplication[i][j] + matrix1[i][k]*matrix2[k][j]; } printf("Product / Multiplication of the two matrices is as follows:\n"); for (i = 0; i < m; i++) { for (j = 0; j < q; j++) printf("%d\t", multiplication[i][j]); printf("\n"); } return 0; }
Output
Enter number of rows and columns of matrix1
2
2
Enter number of rows and columns of matrix2
2
2
Enter 4 elements of matrix1 of 2×2
-1
4
2
3
Enter 4 elements of matrix2 of 2×2
9
-3
6
1
Product / Multiplication of the two matrices is as follows:
15 7 36 -3
Note: You can Enter a 2×2 matrix as
-1 4 2 3 or as -1 4 2 3
Output 2:
Enter number of rows and columns of matrix1
2
2
Enter number of rows and columns of matrix2
2
2
Enter 4 elements of matrix1 of 2×2
-1 4 2 3
Enter 4 elements of matrix2 of 2×2
9 -3 6 1
Product / Multiplication of the two matrices is as follows:
15 7 36 -3