#include <stdio.h>
#include <conio.h> main()
{
int a[10][10],b[10][10],c[10][10],i,j,k,m,n,p,q, choice; clrscr();
printf("\n Enter the order of matrix A mxn \n "); scanf("%d%d",&m,&n);
printf("\n Enter the order of matrix B pxq \n ");
scanf("%d%d",&p,&q); printf("Enter values of matrix A \n"); for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++) scanf("%d",&a[i][j]);
}
printf("Enter values of matrix B \n"); for(i=1;i<=p;i++)
{
for(j=1;j<=q;j++) scanf("%d",&b[i][j]);
}
while(1)
{
printf("Enter the values \n 1= Add \n 2= Subtract\n 3= Multiply \n two matrices ="); scanf("%d",&choice);
switch(choice)
{
case 1: if((m!=p)||(n!=q))
{
printf("Addition is not possible\n"); getch();
break;
}
if((m==p) &&
(n==q))
{
for(i=1;i<=m;i++) for(j=1;j<=q;j++)
{
c[i][j]=0;
c[i][j]=c[i][j]+a[i][j]+b[i][j];
}
for(i=1;i<=m;i++)
{
for(j=1;j<=q;j++) printf(" %d \t",c[i][j]); printf("\n");
}
break;
}
case 2: if((m!=p)||(n!=q))
{
printf("Subtraction is not possible\n"); getch();
break;
}
if((m==p) &&
(n==q))
{
for(i=1;i<=m;i++) for(j=1;j<=q;j++)
{ c[i][j]=0;
c[i][j]=c[i][j]+(a[i][j]-b[i][j]);
}
for(i=1;i<=m;i++)
{
for(j=1;j<=q;j++) printf(" %d \t",c[i][j]); printf("\n");
}
break;
}
case 3: if(n!=p)
{
printf("Multiplication is not possible\n"); getch();
break;
}
for(i=1;i<=m;i++) for(j=1;j<=q;j++)
{ c[i][j]=0;
for(k=1;k<=n;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
for(i=1;i<=m;i++)
{
for(j=1;j<=q;j++) printf(" %d \t",c[i][j]); printf("\n");
}
break;
default :exit(1);
} //end switch
} // end while
}
No comments:
Post a Comment