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


0 Comments