Matrix Multiplication in C

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

#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

4 thoughts on “Matrix Multiplication in C”

  1. HI .
    I am preparing for january ‘o’ level examination.
    will you give me some important tips .
    to qualified examination.

  2. Saranya.Madhavan

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

  3. 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.

Leave a Comment

Your email address will not be published. Required fields are marked *