You are on page 1of 4

/*Write a menu driven program to accept a two dimensional array

and perform the following operations.Display matrix, Display diagonal


elements, Display triangular elements, Row sum and column sum,
and Transpose of a matrix.*/
#include<iostream.h>
#include<conio.h>
int i,j,option;
void display(int a[][15],int m,int n)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
cout<<a[i][j]<<"\t";
cout<<"\n";
}
}
void diagonal(int a[][15],int m,int n)
{ cout<<"Options\n1.Main diagonal\n2.Off diagonal\n";
cout<<"Enter your option";
cin>>option;
if(option==1)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(i==j)
cout<<a[i][j];
else
cout<<"\t";
}
cout<<endl;
}
}
else if(option==2)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(i+j==m-1)
cout<<a[i][j];
else
cout<<"\t";
}
cout<<endl;
}
}
else
cout<<"Invalid option";
}
void triangle(int a[][15],int m,int n)
{ cout<<"Options\n";
cout<<"1.Upper triangle along main diagonal\n";
cout<<"2.Lower triangle along main diagonal\n";
cout<<"3.Upper triangle along off diagonal\n";
cout<<"4.Lower triangle along off diagonal\n";
cout<<"Enter your option:";
cin>>option;
if(option==1)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(i<=j)
cout<<a[i][j]<<"\t";
else
cout<<"\t";
}
cout<<endl;
}
}
else if(option==2)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(j<=i)
cout<<a[i][j]<<"\t";
else
cout<<"\t";
}
cout<<endl;
}
}
else if(option==3)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(i+j<=m-1)
cout<<a[i][j]<<"\t";
else
cout<<"\t";
}
cout<<endl;
}
}
else if(option==4)
{ for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(i+j>=n-1)
cout<<a[i][j]<<"\t";
else
cout<<"\t";
}
cout<<endl;
}
}
else
cout<<"Invalid option";
}
void sum(int a[][15],int m,int n)
{ int num,sum=0;
cout<<"Options\n1.Row sum\n2.Column sum\nEnter your choice:";
cin>>option;
if(option==1)
{ cout<<"Enter row for calculating sum of elements:";
cin>>num;
num--;
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(i==num)
sum+=a[i][j];
}
}
cout<<"Row sum of"<<num+1<<"th row="<<sum;
}
else if(option==2)
{ cout<<"Enter column for calculating sum of elements:";
cin>>num;
num--;
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ if(j==num)
sum+=a[i][j];
}
}
cout<<"Column sum of"<<num+1<<"th column="<<sum;
}
else
cout<<"Invalid choice";
}
void transpose(int a[][15],int m,int n)
{ cout<<"Transpose of matrix is:\n";
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
{ cout<<a[j][i]<<"\t";
}
cout<<endl;
}
}
void main()
{ clrscr();
int a[15][15],m,n,choice;
char ch;
cout<<"Enter no.of rows and columns:";
cin>>m>>n;
if(m==n)
{ cout<<"Enter the matrix:";
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
cin>>a[i][j];
}
do
{ cout<<"MENU\n"<<"1.Display the matrix\n";
cout<<"2.Display the diagonal\n";
cout<<"3.Display triangle along diagonal\n";
cout<<"4.Calculate row or column sum\n";
cout<<"5.Display transpose of matrix\n";
cout<<"Enter your choice:";
cin>>choice;
switch(choice)
{ case 1:display(a,m,n);
break;
case 2:diagonal(a,m,n);
break;
case 3:triangle(a,m,n);
break;
case 4:sum(a,m,n);
break;
case 5:transpose(a,m,n);
break;
default:cout<<"\nInvalid choice";
}
cout<<"\nDo want to continue?(y or n)";
cin>>ch;
}while(ch=='y');
}
else
cout<<"Not square matrix";
getch();
}

You might also like