matrix operation using switch

 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.

Copyright (c) 2020 Custom Programs All Right Reserved

Pages