Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Metodo de gauss simple c++

Estas en el tema de Metodo de gauss simple c++ en el foro de C/C++ en Foros del Web. Buena a todos Me podrían ayudar a revisar cual es la falla de mi programa para la resolución de sistemas de ecuaciones nxn por el ...
  #1 (permalink)  
Antiguo 12/05/2013, 12:10
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Metodo de gauss simple c++

Buena a todos

Me podrían ayudar a revisar cual es la falla de mi programa para la resolución de sistemas de ecuaciones nxn por el metodo de gauss simple y otro programa por pivoteo parcial, para resumirlo, lo dejo asi:

-Las respuestas no me salen pero ya hice unas cuantas veces pruebas de escritorio para comprobar la logica de mi programa

Aqui un ejemplo de una matriz:
matriz A
2 -2 5
2 3 4
3 -1 3

vector B
12
20
10

la matriz resultante --- >
2 -2 5
0 5 -1
0 0 -4.5

vector B
13
7
-12.5

Soluciones:
X=1
Y=2
Z=3

Método de Gauss simple
Bueno aquí dejo el programa

[I] //METODO GAUSS
#include <conio>
#include <stdio>
#include <fstream>

void main()
{
float g,inv[100][100],ind[100],matriz[100][100],det,a[100][100],fo[100],m0[100][100],f1[100],f2[100],m1[100][100],factor,xn[100],sum;
int f,i,j,n,m,p,k,l,s=1,km,km1,n1,n2;
if(s!=1)
{
o:
}else{
r:
clrscr();
cout<<"INGRESE EL NUMERO DE VARIABLES"<<endl;
cin>>n;
if(n<=1)
{
cout<<"ERROR!, Ingrese mas de una variable para completar el sistema "<<endl;
getch();
goto r;
}
else{
cout<<"=========================================== ===================================";
km=1;
m=4;
p=10;
for(j=1;j<=n;j++)
{
gotoxy(p,m);cout<<"X"<<j;
p=p+6;
}
gotoxy(p,m);cout<<"C";
m=6;
for(i=1;i<=n;i++)
{
p=10;
for(j=1;j<=n;j++)
{
gotoxy(p,m);scanf("%f",&matriz[i][j]);
fo[km]=matriz[i][j];
km++;
p=p+6;
}
gotoxy(p,m);cin>>ind[i];
fo[km]=ind[i];
km++;
m=m+2;
}
}
cout<<"=========================================== ===================================";

//Aqui puede estar el error
for(i=1;i<=n-1;i++)
{
for(j=i+1;j<=n;j++)
{
factor=matriz[j][i]/matriz[i][i];
for(km=1;km<=n;km++)
{
matriz[j][km]=matriz[j][km]-(factor*matriz[i][km]);
}
ind[j]=ind[j]-(factor*ind[i]);
}
}

//o aqui en la sustitución hacia atrás
xn[n]=ind[n]/matriz[n][n];

for(i=n-1;i<=1;i--)
{
xn[i]=ind[i];
for(j=i+1;j<=n;j++)
{
xn[i]=xn[i]-(matriz[i][j]*xn[j]);
}
xn[i]=xn[i]/matriz[i][i];
}


clrscr();

m=4;
for(i=1;i<=n;i++)
{
p=10;
for(j=1;j<=n;j++)
{
gotoxy(p,m);cout<<matriz[i][j];
p=p+6;
}
m=m+2;
}
cout<<"Las soluciones son: "<<endl;
for(i=1;i<=n;i++)
{
cout<<xn<<endl;
}

getch();
}
}


De antemano muchas gracias por su tiempo

Última edición por genobraker1; 12/05/2013 a las 12:30

Etiquetas: int, metodo, programa, simple, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.