Implement Matrix multiplication and validate the rules of multiplication Program and Algorithm Computer Science Engineering VTU
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[10] [10],b[10] [10],c[10] [10],i,j,k,m,n,p,q;
printf("enter the order of the matrix A\n");
scanf("%d%d",&m,&n);
printf("enter the order of the matrix B\n");
scanf("%d%d",&p,&q);
if(n!=p)
{
printf("matrix multiplication is not possible\n");
exit(0);
}
printf("enter the elements of A\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("enter the elements of B\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
scanf("%d",&b[i][j]);
}
}
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]+=a[i][k]*b[k][j];
}
}
}
printf("matrix A is\n");
for(i=0;i<m;i++)
{
for(j=0;j<p;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
printf("matrix B is\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
printf("%d\t",b[i][j]);
}
printf("\n");
}
printf("the product of two matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
}
Start Read order of A matrix (m x n) and order of B Matrix (p x q). Check if n is equal to p, if equal goto next step else print error and stop. Read the A matrix (m x n) elements Read the B matrix (p x q) elements for i: 0 to m-1 in steps of 1 do for j: 0 to q-1 in steps of 1 do c[i][j] = 0 for k: 0 to n-1 in steps of 1 do c[i][j] = c[i][j] + a[i][k]*b[k][j] Display matrix A, B, C Stop
Comments
Post a Comment
If you any doubt. Please let me know.