#include 
#include 


int Lee_Datos(float a[4][4]);
void Normalizacion(int n, int i, float a[4][4]);
void Mueve_Ceros(int n, int i, float a[4][4]);
void Imprime_matriz(int n, float a[4][4]);

int main(void)

{
  int     N;
  int     f;
  int     I;
  float   A[4][4]= {{ 52, 20, 25, 4800},
							 { 30, 50, 20, 5810 },
							 { 18, 30, 55, 5690 }};

  clrscr();
  printf("\n");
  printf("        METODO DE ELIMINACION GAUSS-JORDAN");
  N=Lee_Datos(A);
  for (I= 0; I < N; I++)
   {
		printf( "\nRenglon -> %1d:",I+1);
		Normalizacion(N,I,A);
		Mueve_Ceros(N,I,A);
		Imprime_matriz(N,A);
		printf("\n");
   }
  printf("\n Resultado del sistema:");
  for (f =0; f < N; f++)
  printf(" X(%d) = %6.2f",f+1,A[f][N]);
  getche();
}

int Lee_Datos(float a[4][4])
{
	int n;
	int k,j;

	printf("\n  Numero de Ecuaciones =");
	scanf("%d",&n);
	printf("\n");
	printf("\n Sistema de Ecuaciones Lineales:");
	printf("\n--------------------------------");
	printf("\n");

	for ( k=0; k < n; k++)
      {
		for (j=0; j< n+1; j++)
          {
				if (j == n)
					printf("  =  %10.4f",a[k][j]);
				else
					printf("%10.4f X%d ",a[k][j],j+1);
          }
		printf("\n");
      }
	return n;
}

void Normalizacion(int n, int i, float a[][4])
{
  int j;
  float Piv;

  Piv = a[i][i];
  for (j=i; j < n+1; j++)
    {
		a[i][j] = a[i][j]/ Piv;
	 }
  printf("   Normalizado .....");
}

void Mueve_Ceros(int n, int i, float a[][4])
{
	 int k,j;
	 float Cero;
	 for (k=0; k < n; k++)
       {
		 if (k != i)
			{
				Cero = a[k][i];
				for (j=i; j

    Source: geocities.com/siliconvalley/pines/7894/metodos

               ( geocities.com/siliconvalley/pines/7894)                   ( geocities.com/siliconvalley/pines)                   ( geocities.com/siliconvalley)