C-AYUDA C\C++
BIENVENIDO AL FORO C-AYUDA!

gauss jordan

Ver el tema anterior Ver el tema siguiente Ir abajo

gauss jordan

Mensaje  isaac el Mar Mayo 03, 2011 6:46 am

hola como estan
pido ayuda urgentemente para que me ayuden a hacer en dev c++ el metodo de gauss jordan tengo uno pero no se como explicarlos
me podrian ayudar?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

main()
{
int n,a,b;
float A[10][10],B[10],cte,aux;
//Se piden las incógnitas y términos indp.
printf("\n\t\tMETODO DE GAUSS-JORDAN\n");
printf("\nIngrese el numero de ecuaciones del sistema: ");
scanf("%i",&n);
printf("Ingrese los coeficientes\n");
for(a=0;a<n;a++)
{
for(b=0;b<n;b++)
{
printf("Coef. (%i,%i) ",a+1,b+1);
scanf("%f",&A[a][b]);
}
printf("Termino independiente Ec. %i: ",a+1);
scanf("%f",&B[a]);
}
//Metodo Gauss-Jordan
int i,s,j,k;
for(i=0; i<n; i++);
{
//Se Comprueba que el pivote se dif. de 0
if (A[i][i]==0)
{
for(s=i+1;s<=n+1;s++)
{
if (A[s][i]!=0)
{//Intercambio de renglon
aux=A[i][s-1];
A[i][s-1]=A[i+1][s-1];
A[i+1][s-1]=aux;

aux=B[i];
B[i]=B[i+1];
B[i+1]=aux;
}
}

}
//Se normaliza Renglon pivote
cte=A[i][i];
for(j=0;j<n;j++)
{
A[i][j]=A[i][j]/cte;
}
B[i]=B[i]/cte;
//Continua el algoritmo de eliminacion gaussiana
for(j=i+1;j<n;j++)
{
cte=A[j][i];
for(k=0;k<n;k++)
{
A[j][k]=A[j][k]-cte*A[i][k];
}
B[j]=B[j]-cte*B[i];
}
}
//se realiza la eliminacion inversa
for(i=n;i>=1;i--)
{
for(j=i-1;j>=0;j--)
{
cte=A[j][i];
A[j][i]=A[j][i]-cte*A[i][i];
B[j]=B[j]-cte*B[i];
}
}

//Impresion de resultados
printf("\n\n SOLUCION DEL SISTEMA\n ");
for(k=0;k<n;k++)
{
printf("\n x[%d] = %1.4f",k+1,B[k]);
}
printf("\n");
system("pause");
}

isaac
Invitado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.