# Multiplication of two matrix – C Program

## Matrix Multiplication – C Program

### write a c program to multiplication of two matrix.

`````` #include<stdio.h>
#include<conio.h>

void main()
{
int a,b,c,i,j,k,sum=0,m,n,o,p;
printf("\nEnter the row and column of first matrix :\n");
scanf("%d %d",&m,&n);
printf("\nEnter the row and column of second matrix :\n");
scanf("%d %d",&o,&p);
if(n!=o)
{
printf("Matrix mutiplication is not possible");
printf("\nColumn of first matrix must be same as row of second matrix");
}
else
{
printf("\nEnter the First matrix: \n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}

printf("\nEnter the Second matrix :\n");
for(i=0;i<o;i++)
{
for(j=0;j<p;j++)
{
scanf("%d",&b[i][j]);
}
}

for (i = 0; i < m; i++)
{
for (j = 0; j < p; j++)
{
for (k = 0; k < o; k++)
{
sum = sum + first[i][k]*second[k][j];
}
multiply[i][j] = sum;
sum = 0;
}
}

}

printf("\nThe multiplication of two matrix is :\n");
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<p;j++)
{
printf("%d\t",c[i][j]);
}
}
}``````

lets understand multiplication of matrix

matrix A=  1    2           matrix B = 5   6   7

.                3    4                           8   9   10

The multiplication of two matrix:

A * B =  1*5  +  2*8          1*6  +  2*9         1*7  + 2*10

.            3*5  +  4*8          3*6  +  4*9         3*7  + 4*10

A * B =  21       24       27

.            47      54        61

The output of matrix multiplication is :

``````Enter the row and column of first matrix :
3 3

Enter the row and column of second matrix :
3 3

Enter the First matrix :
1  2  0
0  1  1
2  0  1

Enter the Second matrix :
1  1  2
2  1  1
1  2  1

The multiplication of two matrix is :
5  3  4
3  3  2
3  4  5
``````