Add and multiply two matrices of order nxn in C language.

WAP to add and multiply two matrices of order nxn.


#include<stdio.h>

#include<conio.h>

void main()

{

 int n,m1[3][3],m2[3][3],m3[3][3],i,j,k,s;

 clrscr();

 printf("\n Input elements of first matrix\n");

 for(i=0;i<3;i++)

 {

  for(j=0;j<3;j++)

  {

     scanf("%d",&m1[i][j]);

  }

 }

 printf("\n Input elements of second matrix\n");

 for(i=0;i<3;i++)

 {

  for(j=0;j<3;j++)

  {

     scanf("%d",&m2[i][j]);

  }

 }

 printf("\n First matrix\n");

 for(i=0;i<3;i++)

 {

  for(j=0;j<3;j++)

  {

    printf("%2d",m1[i][j]);

  }

  printf("\n");

 }

 printf("\n Second matrix\n");

 for(i=0;i<3;i++)

 {

  for(j=0;j<3;j++)

  {

    printf("%2d",m2[i][j]);

  }

  printf("\n");

 }

 printf("\n\n Press 1 for matrix addition...........\n");

 printf("\n\n Press 2 matrix multiplication.........\n");

 scanf("%d",&n);

 if(n==1)

 {

  for(i=0;i<3;i++)

  {

   for(j=0;j<3;j++)

   {

    m3[i][j]=m1[i][j]+m2[i][j];;

   }

  }

  printf("\n Matrix addition \n");

  for(i=0;i<3;i++)

  {

   for(j=0;j<3;j++)

   {

    printf("%4d",m3[i][j]);

   }

   printf("\n");

  }

  getch();

 }

 if(n==2)

 {

  for(i=0;i<3;i++)

  {

   for(j=0;j<3;j++)

   {

    s=0;

    for(k=0;k<3;k++)

    {

     s=s+m1[i][k]*m2[k][j];

    }

    m3[i][j]=s;

   }

  }

  printf("\n Matrix multiplication....\n");

  for(i=0;i<3;i++)

  {

   for(j=0;j<3;j++)

   {

    printf("%4d",m3[i][j]);

   }

   printf("\n");

  }

  getch();

}

Output:-

Input elements of first matrix

1

2

3

4

5

6

7

8

9


Input elements of second matrix

1

2

3

4

5

6

7

8

9

First  Matrix 

1 2 3

4 5 6

7 8 9

Second  Matrix 

1 2 3

4 5 6

7 8 9

Press 1 for matrix addition...........

Press 2 matrix multiplication........

1

Matrix Addition

2 4 6

8 10 12

14 16 18

 

Post a Comment

0 Comments