ok sir I have made a program plz tell me if it is all right and plz
give me the brief algorithm of how to make adjoint in 3x3 matrix.
# include <iostream.h>
int main ()
{
const int t = 6; //Here t is arraysize
double A[t][t]={0};
double B[t][t]={0};
int row1,row2,colum1,colum2,i,j,re1,re2;
char x;
int y;
char n;
char num;
//The Appearance at first sight of output
cout<<"WELCOME TO THE WORLD OF MATRICES:"<<endl;
cout<<endl<<endl<<endl;
while (num!=n)
{
//For matrix A
while (re1!=1)
{
//This will generate error if user enters a number
which is out of limit i.e greater than six
///or less than Zero
cout<<"Maximum number of rows & colums
are "<<t<<endl<<endl;
cout<<"The number of rows for matric A is ";
cin>>row1;
while (row1 < 0 || row1 > t || row1 ==
0) //Using OR statement inside while loop for
Rows
{
cout<<"ERROR try entering a non zero value
below 7"<<endl<<endl<<endl;
cout<<"The number of rows for matric A
is ";
cin>>row1;
}
cout<<"The number of colums for matric A is ";
cin>>colum1;
while (colum1 < 0 || colum1 > t || colum1 ==
0) //Using OR statement inside while loop for Columns
{
cout<<"ERROR try entering a non zero value
below 7"<<endl<<endl<<endl;
cout<<"The number of colums for matric A
is ";
cin>>colum1;
}
cout<<endl<<endl;
//Giving user the authority to enter elements of
Matrix A
cout<<"Enter the values for the matrices
A"<<endl<<endl;
for(i = 0 ; i < row1 ; i++)
{
for(j = 0 ; j < colum1 ; j++)
{
cin>>A[i][j];
}
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
cout<<"the matrice A is "<<endl<<endl<<endl;
for (i = 0 ; i < row1 ; i++)
{
for (j = 0 ; j < colum1 ; j++)
{
cout<<"\t"<<A[i][j];
cout<<"\t";
}
cout<<endl<<endl<<endl;
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
cout<<"If you want to edit the matrice press any key
else then n to continue"<<endl;
cin>>x;
if (x == 110)
{
re1=1;
}
}
cout<<endl<<endl;
//For matrix B
while (re2!=1)
{
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
cout<<"Maximum number of rows & colums
are "<<t<<endl<<endl;
cout<<"The number of rows for matric B is ";
cin>>row2;
while (row2 < 0 || row2 > t|| row2 == 0)
{
cout<<"ERROR try entering a non zero value
below 7"<<endl<<endl<<endl;
cout<<"The number of rows for matric B
is ";
cin>>row2;
}
cout<<"The number of colums for matric B is ";
cin>>colum2;
while (colum2 < 0 || colum2 > t || colum2 == 0)
{
cout<<"ERROR try entering a non zero value
below 7"<<endl<<endl<<endl;
cout<<"The number of colums for matric B
is ";
cin>>colum2;
}
cout<<endl<<endl;
//Giving user the authority to enter elements of
Matrix B
cout<<"Enter the values for the matrices
B"<<endl<<endl;
for(i = 0 ; i < row2 ; i++)
{
for(j = 0 ; j < colum2 ; j++)
{
cin>>B[i][j];
}
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
cout<<"the matrice B is "<<endl<<endl<<endl;
for (i = 0 ; i < row2 ; i++)
{
for (j = 0 ; j < colum2 ; j++)
{
cout<<"\t"<<B[i][j];
cout<<"\t";
}
cout<<endl<<endl<<endl;
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
cout<<"If you want to edit the matrice press any key
else then n to continue"<<endl;
cin>>x;
if (x == 110)
{
re2=1;
}
}
cout<<endl<<endl<<endl;
cout<<"Press\n";
cout<<"1.A+B\n";
cout<<"2.A-B\n";
cout<<"3.AxB\n";
cout<<"4.det(A) and det(B) only 3x3\n";
cin>>y;
switch(y)
{
case 1:
{
//Addition of Matrix
double anb[t][t];
if (row1 == row2 && colum1 == colum2)
{
for (i = 0 ; i < row1 ; i++)
{
for(j = 0 ; j < colum1 ; j++)
{
anb[i][j]=A[i][j]+B[i][j];
}
}
cout<<"A + B = "<<endl<<endl<<endl;
for (i = 0 ; i < row1 ; i++)
{
for (j = 0 ; j < colum1 ; j++)
{
cout<<"\t"<<anb[i][j];
cout<<"\t";
}
cout<<endl<<endl<<endl;
}
}
else
{
cout<<"The order of matrix is different"<<endl;
cout<<"Unable to perform addition"<<endl;
cout<<"Try again"<<endl;
cout<<endl<<endl<<endl;
}
break;
}
case 2:
{
//Subtraction of matrix A & B
double aminb[t][t];
if (row1 == row2 && colum1 == colum2)
{
for (i = 0 ; i < row1 ; i++)
{
for(j = 0 ; j < colum1 ; j++)
{
aminb[i][j]=A[i][j]-B[i][j];
}
}
cout<<"A + B = "<<endl<<endl<<endl;
for (i = 0 ; i < row1 ; i++)
{
for (j = 0 ; j < colum1 ; j++)
{
cout<<"\t"<<aminb[i][j];
cout<<"\t";
}
cout<<endl<<endl<<endl;
}
}
else
{
cout<<"The order of matrix is different"<<endl;
cout<<"Unable to perform addition"<<endl;
cout<<"Try again"<<endl;
cout<<endl<<endl<<endl;
}
break;
}
case 3:
{
//Multiplication of Matrix A & B
double ab[t][t] = {0};
if (row1 == colum2 && row2 == colum1 && row1 < 4 && row2 < 4
&& colum1 < 4 && colum2 < 4)
{
ab[0][0] = A[0][0] * B[0][0] + A[0][1] * B[1][0] + A
[0][2] * B[2][0];
ab[0][1] = A[0][0] * B[0][1] + A[0][1] * B[1][1] + A
[0][2] * B[2][1];
ab[0][2] = A[0][0] * B[0][2] + A[0][1] * B[1][2] + A
[0][2] * B[2][2];
ab[1][0] = A[1][0] * B[0][0] + A[1][1] * B[1][0] + A
[1][2] * B[2][0];
ab[1][1] = A[1][0] * B[0][1] + A[1][1] * B[1][1] + A
[1][2] * B[2][1];
ab[1][2] = A[1][0] * B[0][2] + A[1][1] * B[1][2] + A
[1][2] * B[2][2];
ab[2][0] = A[2][0] * B[0][0] + A[2][1] * B[1][0] + A
[2][2] * B[2][0];
ab[2][1] = A[2][0] * B[0][1] + A[2][1] * B[1][1] + A
[2][2] * B[2][1];
ab[2][2] = A[2][0] * B[0][2] + A[2][1] * B[1][2] + A
[2][2] * B[2][2];
cout<<"A * B ="<<endl<<endl<<endl;
for (i = 0 ; i < row1 ; i++)
{
for (j = 0 ; j < colum2 ; j++)
{
cout<<"\t"<<ab[i][j];
cout<<"\t";
}
cout<<endl<<endl<<endl;
}
}
else
{
cout<<"The number of rows is not equal to number of
columns"<<endl;
cout<<"Function cannot be performed"<<endl;
cout<<"Try again"<<endl;
cout<<endl<<endl<<endl;
}
break;
}
case 4:
{
/////////////
////////////
//////////
////////FOR THREE CROSS THREE MATRIX
//Determinent of A
double deta[t][t];
if (row1 == 3 && colum1 == 3)
{
deta[t][t] = A[0][0]*(A[1][1]*A[2][2] - A[1][2]*A[2]
[1]) - A[0][1]*(A[1][0]*A[2][2] - A[2][0]*A[1][2]) + A[0][2]*(A[1][0]
*A[2][1] - A[2][0]*A[1][1]) ;
cout<< deta[t][t] << endl;
for (i = 0 ; i < 4 ; i++)
{
for (j = 0 ; j < 4 ; j++)
{
cout<<" |A| = ";
cout<<deta[i][j];
cout<<endl<<endl;
}}}
else
{
cout<<"Unable to Take determinent"<<endl;
cout<<"Enter a 3 cross 3 matrix"<<endl;
cout<<"Try again"<<endl;
}
double detb[t][t];
if (row2 == 3 && colum2 == 3)
{
detb[t][t] = B[0][0]*(B[1][1]*B[2][2] - B[1][2]*B[2]
[1]) - B[0][1]*(B[1][0]*B[2][2] - B[2][0]*B[1][2]) + B[0][2]*(B[1][0]
*B[2][1] - B[2][0]*B[1][1]) ;
cout<<"|B| = ";
cout<< deta[t][t] << endl;
for (i = 0 ; i < 4 ; i++)
{
for (j = 0 ; j < 4 ; j++)
{
cout<<detb[i][j];
cout<<endl<<endl;
}}}
else
{
cout<<"Unable to Take determinent"<<endl;
cout<<"Enter a 3 cross 3 matrix"<<endl;
cout<<"Try again"<<endl;
}
break;
}
default:
cout<<"Invalid Entry";
}//switch ends here
cout<<"Press "y" to continue and "n" to exit\n";
cin>>num;
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////
return 0;
}