Dev - C++ - ayuda con c++ meto de gauss

   
Vista:

ayuda con c++ meto de gauss

Publicado por jesus (3 intervenciones) el 16/10/2007 05:49:57
Hola quisiera que alguien me ayude a mejorar este programa se trata de resolver un sistema de ecuaciones con n variables con el metodo de gauss todo esta bien este metodo funciona bien( OJO siempre y cuando cada variable tiene un solo valor), pero quisiera que me ayuden a poner algo en la pantalla cuando tiene soluciones parametricas (varios valores) gracias.

#include<conio.h>
#include<iostream.h>
void main()
{
int n,m,i,j,k;
float a[25][26],b[25][26],apoyo;
clrscr();
gotoxy(23,3);cout<<" METODO DE GAUSS-JORDAN";
gotoxy(5,5);cout<<"Ingrese el numero de incognitas con su respectivo N de Ecuaciones = ";
cin>>n;
gotoxy(18,6);cout<<"\n\n Ingrese coeficientes ";
/* Datos para iniciar método */
for(i=1;i<=n;i++)
{
cout<<"\n\n Fila "<<i<<" ";;
for(j=1;j<=n+1;j++)
{
cout<<" \n Ingrese el elemento a[ "<<i<<"]["<<j<<"] :";
cin>>a[i][j];
}
}

/* Fin Del Ciclo De Solicitud De Datos */
/* Proceso Principal */
m=n+1;
do
{
if(a[1][1]==0)
{
k=m-1;
for(i=2;i<=k;i++)
{
if(a[i][1]!=0)
{
for(j=1;j<=m;j++)
{
apoyo=a[i][j];
a[i][j]=a[1][j];
a[1][j]=apoyo;
}
}
}
}
else
{
for(j=2;j<=m;j++)
{
for(i=2;i<=n;i++)
{
b[i-1][j-1]=a[i][j]-a[1][j]*a[i][1]/a[1][1];
}
}
for(j=2;j<=m;j++)
{
b[n][j-1]=a[1][j]/a[1][1];
}
m=m-1;
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
{
a[i][j]=b[i][j];
}
}
}

}
while(m>1);
cout<<"\n\n SOLUCION DEL SISTEMA ";
for(i=1;i<=n;i++)
{
cout<<" \n\n\t "<<"a["<<i<<"][1] :"<<a[i][1];
}
cout<<" Presione una tecla para salir ......";
getch();

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con c++ meto de gauss

Publicado por Lolo (1 intervención) el 31/10/2008 01:26:20
Bien, podría ayudarte de la siguiente forma!

#include<conio.h>
#include<iostream.h>
void main()
{
int n,m,i,j,k;
float a[25][26],b[25][26],apoyo;
clrscr();
gotoxy(23,3);cout<<" METODO DE GAUSS-JORDAN";
gotoxy(5,5);cout<<"Ingrese el numero de incognitas con su respectivo N de Ecuaciones = ";
cin>>n;
gotoxy(18,6);cout<<" Ingrese coeficientes ";
/* Datos para iniciar método */
for(i=1;i<=n;i++)
{
cout<<" Fila "<<i<<" ";;
for(j=1;j<=n+1;j++)
{
cout<<" Ingrese el elemento a[ "<<i<<"]["<<j<<"] :";
cin>>a[i][j];
}
}

/* Fin Del Ciclo De Solicitud De Datos */
/* Proceso Principal */
m=n+1;
do
{
if(a[1][1]==0)
{
k=m-1;
for(i=2;i<=k;i++)
{
if(a[i][1]!=0)
{
for(j=1;j<=m;j++)
{
apoyo=a[i][j];
a[i][j]=a[1][j];
a[1][j]=apoyo;
}
}
}
}
else
{
for(j=2;j<=m;j++)
{
for(i=2;i<=n;i++)
{
b[i-1][j-1]=a[i][j]-a[1][j]*a[i][1]/a[1][1];
}
}
for(j=2;j<=m;j++)
{
b[n][j-1]=a[1][j]/a[1][1];
}
m=m-1;
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
{
a[i][j]=b[i][j];
}
}
}

}
while(m>1);
cout<<" SOLUCION DEL SISTEMA ";
for(i=1;i<=n;i++)
{
cout<<" "<<"a["<<i<<"][1] :"<<a[i][1];
}
cout<<" Presione una tecla para salir ......";
getch();

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar