Sunday, 14 December 2014

Matrix Manupulation

#include <stdio.h>
int main ()
{
    int  i,j,k,add,sub,multi,trnsps[5][5],trnsps_1[5][5],a[5][5],b[5][5], d[5][5],x,r,n,c;

   
        printf ("\nInput nmuber of Row and Column of two Matrix: ");
        scanf ("%d %d",&r,&c);
              n=r;
              printf ("Input for A: \n");
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                scanf ("%d",&a[i][j]);
            }
        }
              printf ("\n\n\tA Matrix: \n");
              for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                printf ("\t%d\t",a[i][j]);
            }
                     printf ("\n\n");
        }
              printf ("\nInput for B: \n");
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                scanf ("%d",&b[i][j]);
            }
        }
              printf ("\n\n\tB Matrix: \n");
              for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                printf ("\t%d\t",b[i][j]);
            }
                     printf ("\n\n");
        }
       printf ("\nPress 1: Addition\t\tPress 2: Subtraction\n\nPress 3: Multiplication\t\tPress 4: Transpose\n\nPress 5: Exit\n");
    printf ("\nInput Here: ");
    scanf ("%d",&x);

    switch (x)
    {
        case 1:
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                d[i][j]=a[i][j]+b[i][j];
            }
        }
              printf ("\n\nAddition of A+B:\n");
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                printf ("%d\t",d[i][j]);
            }
            printf ("\n");
        } break;
        case 2:
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
               d[i][j]=a[i][j]-b[i][j];
            }
        }
              printf ("\n\nSubtraction of A-B:\n");
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                printf ("%d\t",d[i][j]);
            }
            printf ("\n");
        } break;
        case 3:
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                add=0;
                for (k=0; k<n; k++)
                {
                    add=add+(a[i][j]*b[i][j]);
                    d[i][j]=add;
                }
            }
        }
              printf ("Multiplication of AXB:\n");
        for (i=0; i<r; i++)
        {
            for (j=0; j<c; j++)
            {
                printf ("%d\t",d[i][j]);
            }
            printf ("\n");
        } break;
        case 4:
                     printf ("\n\nWhich Matrix you want to Transpose\n\nPress 1 for A Matrix\tPress 2 for B Matrix\tPress 3 for Both\n\nInput Here: ");
                     scanf ("%d",&n);
        if (n==1)
              {
                     for (i=0; i<r; i++)
                     {
                           for (j=0; j<c; j++)
                           {
                                  trnsps[j][i]=a[i][j];
                                 
                }
                     }
                     printf ("Tarnspose: \n\n");
            for (i=0; i<r; i++)
           {
                for (j=0; j<c; j++)
                {
                    printf ("%d\t",trnsps[i][j]);
                }
                printf ("\n\n");
           }
              }
              else if(n==2)
              {
                     for (i=0; i<r; i++)
                     {
                           for (j=0; j<c; j++)
                           {
                                  trnsps[j][i]=b[i][j];
                                 
                 }
                     }
                     printf ("Tarnspose: \n\n");
            for (i=0; i<r; i++)
            {
                for (j=0; j<c; j++)
                {
                    printf ("%d\t",trnsps[i][j]);
                }
                printf ("\n\n");
            }
              }
              else
              {
                     for (i=0; i<r; i++)
                     {
                           for (j=0; j<c; j++)
                           {
                                  trnsps_1[j][i]=a[i][j];
                                 
                 }
                     }
                     for (i=0; i<r; i++)
                     {
                           for (j=0; j<c; j++)
                           {
                                  trnsps[j][i]=b[i][j];
                                 
                 }
                     }
                     printf ("Tarnspose of A:\n\n");
                     for (i=0; i<r; i++)
                     {
                           for (j=0; j<c; j++)
                           {
                                  printf ("%d\t",trnsps_1[i][j]);
                           }
                           printf ("\n");
            }
                     printf ("\n\nTarnspose of B:\n\n");
                     for (i=0; i<r; i++)
                     {
                           for (j=0; j<c; j++)
                           {
                                  printf ("%d\t",trnsps[i][j]);
                           }
                           printf ("\n");
            }
              } break;
              default:

                     printf ("\n!!! BEY BEY !!!\n\n");
             
              printf ("\n\n\n\n\n");
    }
}


No comments:

Post a Comment