Matrix Multiplication in C

 1 Multiplication of matrix


#include<stdio.h>
#include<conio.h>
void main()
{
int r1,r2,c1,c2,k,i,j,a[100][100],b[100][100],c[100][100];

printf("Enter size of rows and columns\n");

scanf("%d %d %d %d",&r1,&c1,&r2,&c2);

printf("Enter elements for matrix A\n");
for(i=0;i<r1;i++)  // r1 & r2=row;c1&c2=column
{
for(j=0;j<c1;j++)
{
scanf("%d",&a[i][j]);
}
}

printf("Enter  elements for matrix B\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
scanf("%d",&b[i][j] );
}
}

printf("The elements of matrix A in matrix form is\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf ("%d\t",a[i][j]);
}
printf("\n");
}

printf("The elements of matrix B in matrix form is\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf ("%d\t",b[i][j]);
}
printf("\n");
}

for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)     :: This  code is used as in matrix multiplication first row is mulitplied with                                                                    second column
{
c[i][j]=0;
for(k=0;k<r2;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}
}
}

printf("The resultant matrix is\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();
}
0utput:





































For 2*3 matrix the output is:





































2. Sum of matrix:

#include<stdio.h>
#include<conio.h>
void main()
{
int m,n,i,j,a[100][100],b[100][100],c[100][100];

printf("Enter size of rows and columns\n");

scanf("%d %d",&m,&n);

printf("Enter elements for matrix A\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("Enter  elements for matrix B\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&b[i][j]);
}
}
printf("The elements of matrix A in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf ("%d\t",a[i][j]);
}
printf("\n");
}
printf("The elements of matrix B in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf ("%d\t",b[i][j]);
}
printf("\n");
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
   
{
                 c[i][j]=a[i][j]+b[i][j];
}
}

printf("The resultant addition matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();

}

Output:




































3. Subtractcion of matrix

#include<stdio.h>
#include<conio.h>
void main()
{
int m,n,i,j,a[100][100],b[100][100],c[100][100];

printf("Enter size of rows and columns\n");

scanf("%d %d",&m,&n);

printf("Enter elements for matrix A\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("Enter  elements for matrix B\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&b[i][j]);
}
}
printf("The elements of matrix A in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf ("%d\t",a[i][j]);
}
printf("\n");
}
printf("The elements of matrix B in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf ("%d\t",b[i][j]);
}
printf("\n");
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
c[i][j]=a[i][j]-b[i][j];
}
}

printf("The resultant subtraction matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();

}


Output:







Comments