MATRIX
ADD,SUB,MULTI,TRANSPOSE&SADDLE USING SWITCH CASE.
#include<stdio.h>
#include<conio.h>
void accept(int a[3][3],int r,int c);
void add(int a[3][3],int b[3][3],int d[3][3],int r,int c);
void sub(int a[3][3],int b[3][3],int d[3][3],int r,int c);
void trasp(int a[3][3],int b[3][3],int r,int c);
void multi(int a[3][3],int b[3][3],int d[3][3],int r,int c);
void main()
{
int i,j,k,a[3][3],b[3][3],d[3][3],op,r,c;
clrscr();
printf("Enter no of rows and column\n");
scanf("%d%d",&r,&c);
if(r!=c)
{ printf("not possible\n");
}
else
{
printf("Enter elements for 1st matrix\n");
accept(a,r,c);
printf("Enter elements for 2nd matrix\n");
accept(b,r,c);
printf("*Enter 1 for add .\n*Enter 2 for sub.\n*Enter 3 for transpose.\n*Enter 4 for multi.\n");
scanf("%d",&op);
switch(op)
{
case 1: add(a,b,d,r,c);
break;
case 2: sub(a,b,d,r,c);
break;
case 3: trasp(a,b,r,c);
break;
case 4: multi(a,b,d,r,c);
break;
}
getch();
}
}
void accept(int a[3][3],int r,int c)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf("%2d",&a[i][j]);
}
printf("\n");
}
printf("matrix is\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
}
void add(int a[3][3],int b[3][3],int d[3][3],int r,int c)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
d[i][j]=a[i][j]+b[i][j];
}
}
printf("Addition of two matrix is\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%d",d[i][j]);
}
printf("\n");
}
}
void sub(int a[3][3],int b[3][3],int d[3][3],int r,int c)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
d[i][j]=a[i][j]-b[i][j];
}
}
printf("subtraction of two matrix is\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%d",d[i][j]);
}
printf("\n");
}
}
void trasp(int a[3][3],int b[3][3],int r,int c)
{
int i,j;
printf("transpose of matrix a is\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%2d",a[j][i]);
}
printf("\n");
}
printf("transpose of matrix b is\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%2d",b[j][i]);
}
printf("\n");
}
}
void multi(int a[3][3],int b[3][3],int d[3][3],int r,int c)
{
int i,j,k;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
for(k=0;k<r;k++)
{
d[i][j]=d[i][j]+a[i][k]*b[k][j];
}
}
}
printf("multiplication of matrix a*b is\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%2d",d[i][j]);
}
printf("\n");
}
}
No comments:
Post a Comment
If you have any problems related to solutions or any concept please let me know.