Discussion about math, puzzles, games and fun.   Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ • π ƒ -¹ ² ³ °

You are not logged in.

|
Options

Roy D.
2012-02-03 15:54:04

can you help me make a program which would solve linear matrix where the user will decide what would be the dimension of the matrix? in simpler terms, the user will input the dimensions of the matrix and plug-in the values. please... i need it so badly. using c++ language. thank you so much!

Yonah Reuben Ochieng'
2011-06-07 00:04:08

Use The following code to solve 3*3 matrix and systems
______________________________________________________
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;

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);
~elements(){};

}el;
{
}
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();

}

bobbym
2010-04-07 14:53:55

Hi kendricktamis;

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?

kendricktamis
2010-04-07 14:07:17

I say you have 3 by 3 or 4 by 4 matrix. how do i write a c++ code to solve this matrix problem and also will be able to the program being able to compute any matrix problem.