Ayuda sobre Gauss-Jordan
Tengo un problema al implementar el metodo de Gauss-Jordan, implemento 3 ecuasiones con 9 incognitas y me sale errores, hay talvez algun otro metodo de resolver este tipo de ecuasiones o hacer algun cambio a G-J? por la atencion anticipo las gracias
// programa : Hanoi no recursivo
// borland c++ for windows - ver 4.5
// 10/4/2004
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
const int MAX = 10;
int a = 0,b = 1,c = 2 ,n = 0,
p[3],x[3][MAX];
void GetDim()
{
while(n < 1 || n > MAX)
{
cout << "entre el numero de discos (0 < n <= 10) : ";
cin >> n;
}
cout << endl << endl;
} // GET DIM
void Init()
{
if(n%2) // para numero de aros pares, rotacion inversa
{
b = 2;
c = 1;
}
for(int i = 0;i < n;i++)
x[0][i] = n-i;
p[0] = n-1;
p[1] = p[2] = -1;
} // INIT
void Show()
{
for(int i = 0;i < 3;i++)
{
cout << "[" << char('a'+i) << "] : ";
for(int j = 0;j < n;j++)
{
cout << setw(3);
if(x[i][j])
cout << x[i][j];
else
cout << '.';
}
cout << endl;
}
cout << endl;
getch();
} // SHOW
void Rotation()
{
int holder = a;
a = b;
b = c;
c = holder;
} // ROTATION
void Move(int source,int target)
{
x[target][++p[target]] = x[source][p[source]];
x[source][p[source]--] = 0;
} // MOVE
void Process()
{
Show();
for(;;)
{
Move(a,b);
Show();
if(p[b] == n-1)
break;
if(p[c] == -1)
Move(a,c);
else if(p[a] == -1)
Move(c,a);
else if(x[a][p[a]] < x[c][p[c]])
Move(a,c);
else
Move(c,a);
Show();
Rotation();
}
} // PROCESS
void main()
{
cout << "Torres de Hanoi, processo no recursivo : " << endl << endl;
GetDim();
Init();
Process();
cout << "end of program - good bye ! ! ! " << endl;
} // MAIN
// borland c++ for windows - ver 4.5
// 10/4/2004
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
const int MAX = 10;
int a = 0,b = 1,c = 2 ,n = 0,
p[3],x[3][MAX];
void GetDim()
{
while(n < 1 || n > MAX)
{
cout << "entre el numero de discos (0 < n <= 10) : ";
cin >> n;
}
cout << endl << endl;
} // GET DIM
void Init()
{
if(n%2) // para numero de aros pares, rotacion inversa
{
b = 2;
c = 1;
}
for(int i = 0;i < n;i++)
x[0][i] = n-i;
p[0] = n-1;
p[1] = p[2] = -1;
} // INIT
void Show()
{
for(int i = 0;i < 3;i++)
{
cout << "[" << char('a'+i) << "] : ";
for(int j = 0;j < n;j++)
{
cout << setw(3);
if(x[i][j])
cout << x[i][j];
else
cout << '.';
}
cout << endl;
}
cout << endl;
getch();
} // SHOW
void Rotation()
{
int holder = a;
a = b;
b = c;
c = holder;
} // ROTATION
void Move(int source,int target)
{
x[target][++p[target]] = x[source][p[source]];
x[source][p[source]--] = 0;
} // MOVE
void Process()
{
Show();
for(;;)
{
Move(a,b);
Show();
if(p[b] == n-1)
break;
if(p[c] == -1)
Move(a,c);
else if(p[a] == -1)
Move(c,a);
else if(x[a][p[a]] < x[c][p[c]])
Move(a,c);
else
Move(c,a);
Show();
Rotation();
}
} // PROCESS
void main()
{
cout << "Torres de Hanoi, processo no recursivo : " << endl << endl;
GetDim();
Init();
Process();
cout << "end of program - good bye ! ! ! " << endl;
} // MAIN
Hola:)
Disculpa ahora por este a-mail, sabes no se si ya obtuviste la ayuda en la solución de tu programa. Espero que sí, ahora soy yo el que tiene el mismo problema, necesito realizar un programa en C++ que utilice el método de Gauss-Jordan para resolver un sistema de ecuaciones mediante matricez.
Necesito de tu apoyo. ¡Help! por favor..
De antemano te agradezco por el tiempo de leer esto.
Gracias. Cuanta también con mi apoyo en algo que requieras. Soy de Chiapas, México; y estudio el segundo semestre de Ingeniería en sistemas computacionales.
Disculpa ahora por este a-mail, sabes no se si ya obtuviste la ayuda en la solución de tu programa. Espero que sí, ahora soy yo el que tiene el mismo problema, necesito realizar un programa en C++ que utilice el método de Gauss-Jordan para resolver un sistema de ecuaciones mediante matricez.
Necesito de tu apoyo. ¡Help! por favor..
De antemano te agradezco por el tiempo de leer esto.
Gracias. Cuanta también con mi apoyo en algo que requieras. Soy de Chiapas, México; y estudio el segundo semestre de Ingeniería en sistemas computacionales.
