Algoritmia - Revision codigo gauss-jordan

 
Vista:

Revision codigo gauss-jordan

Publicado por Victor Manuel (2 intervenciones) el 29/05/2012 17:24:46
bueno aqui tengo este correo me gustaria que alguien con mas conocimientos lo revisara, ya que no me esta dando las respuestas que quiero, mi codigo esta bn. me gustaria que lo revisaran es muy importante y que me digan cuales son mis errores, y como corregirlos porfavor aqui dejo el codigo
esta elaborado en borland c++


#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>


void main (void)

{
int j,i,n,k;
float m[10][10],b[10],det,x[10];



printf ("\t\n\n METODO DE ELIMINACION DE GAUSS-JORDAN");
printf ("\n");
printf("\t\n Introduce El Numero de Ecuaciones: ");
scanf("%d",&n);


for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
printf("\nM[%d][%d]: ",i+1,j+1);
scanf("%f",&m[i][j]);

}
}

printf("\n\nIntroduce El Valor independiente de B: ");
for(j=0;j<n;j++)
{
printf("\n\nb: ");
scanf("%f",&b[j]);
}


for (i=0;i<n;i++)
{ printf("\n") ;
for (j=0;j<n;j++)
{
printf("[%.3f]",m[i][j]);
}
}


//Calculando Determinante.

det=1;
for(i=0;i<n;i++) //paso tres
{
det*=m[i][i]; //paso cuatro
if(det==0) //paso cinco
{
printf("Hay un cero en la diagonal principal...");
}
for(k=i+1;k<n;k++) //paso siete
{
for(j=i+i;j<n;j++) //paso nueve
m[k][j]=(m[k][j]-m[k][i]*m[i][j])/m[i][i];
{
b[k]=(b[k]-m[k][i]*b[i])/m[i][i]; //paso doce
}
}
}


for(i=0;i<n;i++)
{
x[i]=b[i]/m[i][i];
for(i=n;i>n;i--)
{
x[i]=b[i];
for(j=i+1;j<n;j++)
{
x[i]-=m[i][j]*x[j];
}
x[i]/=m[i][i];
}
}

printf("\nDeterminante: %.3f",det);

printf("\n\nLos Valores de X son: ");



for(j=0;j<n;j++)
{
printf("\nx: %.3f",x[j]);
}
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