Here is the program for matrix multiplication in C.

m and n are rows and columns of first matrix.

p and q are rows and columns of second matrix.

Then, multiplication is possible only if n==p.

## Matrix Multiplication in C

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 40 41 42 43 44 |
#include<stdio.h> int main() { int a[5][5],b[5][5],c[5][5],m,n,p,q,i,j,k; printf("Enter rows and columns of first matrix:"); scanf("%d%d",&m,&n); printf("Enter rows and columns of second matrix:"); scanf("%d%d",&p,&q); if(n==p) { printf("\nEnter first matrix:\n"); for(i=0;i<m;++i) for(j=0;j<n;++j) scanf("%d",&a[i][j]); printf("\nEnter second matrix:\n"); for(i=0;i<p;++i) for(j=0;j<q;++j) scanf("%d",&b[i][j]); printf("\nThe new matrix is:\n"); for(i=0;i<m;++i) { for(j=0;j<q;++j) { c[i][j]=0; for(k=0;k<n;++k) c[i][j]=c[i][j]+(a[i][k]*b[k][j]); printf("%d ",c[i][j]); } printf("\n"); } } else printf("\nSorry!!!! Matrix multiplication can't be done"); return 0; } |

**Output**

*Enter rows and columns of first matrix:3*

*3*

*Enter rows and columns of second matrix:3*

*3*

*Enter first matrix:*

*1 2 3*

*4 5 6*

*7 8 9*

*Enter second matrix:*

*9 8 7*

*6 5 4*

*3 2 1*

*The new matrix is:*

*30 24 18*

*84 69 54*

*138 114 90*

Comment below if you have any doubts related to above program for matrix multiplication in C

thank you very much

all program are too easy

thank you

HI .

I am preparing for january ‘o’ level examination.

will you give me some important tips .

to qualified examination.

Really thankful to you….This site helped me in preparing for university exam ………thank you a lot…..

hello, W3 school is a good school that has helped us to know alot in various programming languages like c,java,c++,sqr and many others….i personally i really appreciate and acknowledge your commitment…please download with me this tutorial.