Perform Following operations on matrices
1. Addition of two matrices
2. Subtraction of two matrices
3. Multiplication of two matrices
4. Row sum
5. Column sum
6. Diagonal sum
#include<stdio.h>
void main()
{
int i,j,k,m1,m2,n1,n2,a[10][10],b[10][10],c[10][10],ch,sum[10],dsum=0;
do
{
printf("\nOperation On matrices");
printf("\n*********************");
printf("\n1.Matrix Addition");
printf("\n2.Matrix Subtraction");
printf("\n3.Matrix Multiplication");
printf("\n4.Row Sum");
printf("\n5.Column Sum");
printf("\n6.Diagonal Sum");
printf("\n7.Exit");
printf("\nEnter your Choice");
scanf("%d",&ch);
switch(ch)
{
case 1:
case 2:
case 3:
{
printf("Enter the row and column of Matrix A\n");
scanf("%d %d",&m1,&n1);
printf("Enter the row and column of Matrix B\n");
scanf("%d%d",&m2,&n2);
if(m1==m2&& n1==n2);
else if(m1==n2);
else
{
printf("\n Arithmetic operation not possible, Rows and Columns are not Equal");
break;
}
printf("Enter the Matrix A\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n1;j++)
scanf("%d",&a[i][j]);
}
printf("\nEnter the Matrix B\n");
for(i=0;i<m2;i++)
{
for(j=0;j<n2;j++)
scanf("%d",&b[i][j]);
}
switch(ch)
{
case 1:
for(i=0;i<m1;i++)
for(j=0;j<n2;j++)
c[i][j]=a[i][j]+b[i][j];
break;
case 2:
for(i=0;i<m1;i++)
for(j=0;j<n2;j++)
c[i][j]=a[i][j]-b[i][j];
break;
case 3:
for(i=0;i<m1;i++)
for(j=0;j<n2;j++)
{
c[i][j]=0;
for(k=0;k<m2;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
if(ch==1)
printf("\n Addition of Matrix \n");
else if(ch==2)
printf("\nSubtraction of matrix\n");
else
printf("\nMultiplication of Matrix\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n2;j++)
printf("%d\t",c[i][j]);
printf("\n");
}
break;
}
case 4:
printf("Enter the Row and column\n");
scanf("%d %d",&m1,&n1);
printf("Enter the Matrix \n");
for(i=0;i<m1;i++)
{
sum[i]=0;
for(j=0;j<n1;j++)
{
scanf("%d",&a[i][j]);
sum[i]+=a[i][j];
}
}
for(j=0;j<m1;j++)
printf("\n%d row sum:%d",j+1,sum[j]);
break;
case 5:
printf("Enter the Row and column\n");
scanf("%d %d",&m1,&n1);
printf("Enter the Matrix \n");
for(i=0;i<m1;i++)
for(j=0;j<n1;j++)
scanf("%d",&a[i][j]);
for(i=0;i<m1;i++)
{
sum[i]=0;
for(j=0;j<n1;j++)
sum[i]+=a[j][i];
}
for(j=0;j<m1;j++)
printf("\n%d row sum:%d",j,sum[j]);
break;
case 6:
printf("Enter the Row and column\n");
scanf("%d %d",&m1,&n1);
printf("Enter the Matrix \n");
for(i=0;i<m1;i++)
{
for(j=0;j<n1;j++)
{
scanf("%d",&a[i][j]);
if(i==j)
dsum+=a[i][j];
}
}
printf("\nSum of Diagonal:%d",dsum);
break;
case 7:
exit(0);
break;
default:
printf("\nWrong Choice....Try again...");
}
}while(ch!=7);
}
1. Addition of two matrices
2. Subtraction of two matrices
3. Multiplication of two matrices
4. Row sum
5. Column sum
6. Diagonal sum
#include<stdio.h>
void main()
{
int i,j,k,m1,m2,n1,n2,a[10][10],b[10][10],c[10][10],ch,sum[10],dsum=0;
do
{
printf("\nOperation On matrices");
printf("\n*********************");
printf("\n1.Matrix Addition");
printf("\n2.Matrix Subtraction");
printf("\n3.Matrix Multiplication");
printf("\n4.Row Sum");
printf("\n5.Column Sum");
printf("\n6.Diagonal Sum");
printf("\n7.Exit");
printf("\nEnter your Choice");
scanf("%d",&ch);
switch(ch)
{
case 1:
case 2:
case 3:
{
printf("Enter the row and column of Matrix A\n");
scanf("%d %d",&m1,&n1);
printf("Enter the row and column of Matrix B\n");
scanf("%d%d",&m2,&n2);
if(m1==m2&& n1==n2);
else if(m1==n2);
else
{
printf("\n Arithmetic operation not possible, Rows and Columns are not Equal");
break;
}
printf("Enter the Matrix A\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n1;j++)
scanf("%d",&a[i][j]);
}
printf("\nEnter the Matrix B\n");
for(i=0;i<m2;i++)
{
for(j=0;j<n2;j++)
scanf("%d",&b[i][j]);
}
switch(ch)
{
case 1:
for(i=0;i<m1;i++)
for(j=0;j<n2;j++)
c[i][j]=a[i][j]+b[i][j];
break;
case 2:
for(i=0;i<m1;i++)
for(j=0;j<n2;j++)
c[i][j]=a[i][j]-b[i][j];
break;
case 3:
for(i=0;i<m1;i++)
for(j=0;j<n2;j++)
{
c[i][j]=0;
for(k=0;k<m2;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
if(ch==1)
printf("\n Addition of Matrix \n");
else if(ch==2)
printf("\nSubtraction of matrix\n");
else
printf("\nMultiplication of Matrix\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n2;j++)
printf("%d\t",c[i][j]);
printf("\n");
}
break;
}
case 4:
printf("Enter the Row and column\n");
scanf("%d %d",&m1,&n1);
printf("Enter the Matrix \n");
for(i=0;i<m1;i++)
{
sum[i]=0;
for(j=0;j<n1;j++)
{
scanf("%d",&a[i][j]);
sum[i]+=a[i][j];
}
}
for(j=0;j<m1;j++)
printf("\n%d row sum:%d",j+1,sum[j]);
break;
case 5:
printf("Enter the Row and column\n");
scanf("%d %d",&m1,&n1);
printf("Enter the Matrix \n");
for(i=0;i<m1;i++)
for(j=0;j<n1;j++)
scanf("%d",&a[i][j]);
for(i=0;i<m1;i++)
{
sum[i]=0;
for(j=0;j<n1;j++)
sum[i]+=a[j][i];
}
for(j=0;j<m1;j++)
printf("\n%d row sum:%d",j,sum[j]);
break;
case 6:
printf("Enter the Row and column\n");
scanf("%d %d",&m1,&n1);
printf("Enter the Matrix \n");
for(i=0;i<m1;i++)
{
for(j=0;j<n1;j++)
{
scanf("%d",&a[i][j]);
if(i==j)
dsum+=a[i][j];
}
}
printf("\nSum of Diagonal:%d",dsum);
break;
case 7:
exit(0);
break;
default:
printf("\nWrong Choice....Try again...");
}
}while(ch!=7);
}
No comments:
Post a Comment
Thank you for using this blog.