class elements
{
public:
float det,a11,a12,a13,a21,a22,a23,a31,a32,a33,x1,x2,x3;
int i,j;
int input();
//int determinant(int);
void copyright();
~elements(){};
}el;
void elements::copyright()
{
cout<<"\t\tAll Rights Reserved\n\t\tThis S/W is Free_Source By yawhnie@gmail.com"<<endl;
}
int elements::input()
{
cout<<"Enter no of Elements"<<endl;
cin>>j;
if(j==9)
{
float a[j];//={'\0'};
for(i=0;i < j;i++)
{
cout<<"Enter elements"<<endl;
cin>>a[i];
}
cout<<"matrix\t"<<a[0]<<"\t"<<a[1]<<"\t"<<a[2]<<endl;
cout<<"\t"<<a[3]<<"\t"<<a[4]<<"\t"<<a[5]<<endl;
cout<<"\t"<<a[6]<<"\t"<<a[7]<<"\t"<<a[8]<<endl;
if(a[1]==a[3] && a[2]==a[6] && a[5]==a[7])
{
cout<<"This is a Symetric Matrix\n"<<endl;
}
if(a[1]== -a[3] && a[2]== -a[6] && a[5]== -a[7])
{
cout<<"This is a Skew-Symetric Matrix\n"<<endl;
}
det =((a[0]*(a[8]*a[4]-a[7]*a[5]))-(a[1]*(a[8]*a[3]-a[6]*a[5]))+(a[2]*(a[7]*a[3]-a[6]*a[4])));
cout<<"determinant = "<<det<<"\n"<<endl;
if(det != 0)
{
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
a11 = pow(-1,2)*(a[8]*a[4]-a[7]*a[5]);
a12 = pow(-1,3)*(a[8]*a[3]-a[6]*a[5]);
a13 = pow(-1,4)*(a[7]*a[3]-a[6]*a[4]);
a21 = pow(-1,3)*(a[8]*a[1]-a[7]*a[2]);
a22 = pow(-1,4)*(a[8]*a[0]-a[6]*a[2]);
a23 = pow(-1,5)*(a[7]*a[0]-a[6]*a[1]);
a31 = pow(-1,4)*(a[5]*a[1]-a[4]*a[2]);
a32 = pow(-1,5)*(a[5]*a[0]-a[3]*a[2]);
a33 = pow(-1,6)*(a[4]*a[0]-a[3]*a[1]);
cout<<"Co-factor\n\t"<<a11<<"\t"<<a12<<"\t"<<a13<<endl;
cout<<"\t"<<a21<<"\t"<<a22<<"\t"<<a23<<endl;
cout<<"\t"<<a31<<"\t"<<a32<<"\t"<<a33<<endl;
cout<<"Transpose\n\t"<<a11<<"\t"<<a21<<"\t"<<a31<<endl;
cout<<"\t"<<a12<<"\t"<<a22<<"\t"<<a32<<endl;
cout<<"\t"<<a13<<"\t"<<a23<<"\t"<<a33<<endl;
cout<<"Inverse\n\t"<<a11<<"/"<<det<<"\t"<<a21<<"/"<<det<<"\t"<<a31<<"/"<<det<<"\n"<<endl;
cout<<"\t"<<a12<<"/"<<det<<"\t"<<a22<<"/"<<det<<"\t"<<a32<<"/"<<det<<"\n"<<endl;
cout<<"\t"<<a13<<"/"<<det<<"\t"<<a23<<"/"<<det<<"\t"<<a33<<"/"<<det<<"\n"<<endl;
/*-----------------------------------------------------------------------------------------------------------*/
int b[3],x=1;
cout<<"enter b1,b2,b2 i.e a11 + a12 + a13 = b1"<<endl;
for(int b1=0;b1<3;b1++)
{
cout<<"Enter value for b"<<x<<endl;
x++;
cin>>b[b1];
}
x1 = (a11/det)*b[0]+(a21/det)*b[1]+(a31/det)*b[2];
x2 = (a12/det)*b[0]+(a22/det)*b[1]+(a32/det)*b[2];
x3 = (a13/det)*b[0]+(a23/det)*b[1]+(a33/det)*b[2];
cout<<"______________________________________"<<endl;
cout<<"x1 = "<<x1<<endl;
cout<<"x2 = "<<x2<<endl;
cout<<"x3 = "<<x3<<endl;
}
else
{
cout<<"This Matrix has no inverse"<<endl;
return -1;
}
}
else if(j==4)
{
cout<<"Gosh! 2 * 2 Matrix is so simple for life \v You don't nedd this to Calculate"<<endl;
return input();
}
else if(j==0)
{
_exit -1;
}
else
{
cout<<"You've Entered a Non-square Matrix. Please use 9 or 4 for this program \n 0 to exit"<<endl;
return input();
}
}
int main()
{
el.input();
el.copyright();
}
]]>Welcome to the forum!
I say you have 3 by 3 or 4 by 4 matrix.
That is not a matrix problem. That is just 2 matrices. What do you want to do with them? Add them, multiply them, subtract them, invert them, get the eigenvalues?
]]>