#include #include //******************************************************VERSION 1.0 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]); //******************************************************************* //********************** FUNCION PRINCIPAL ************************** //******************************************************************* int main(void) { int N; int f; int I; float A[4][4]= {{ -3, 3, 2, 1}, { 4, 1, -1, 2 }, { 1, -2, 1, 3 }}; 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(); } //******************************************************************* //*********************** FUNCIONES AUXILIARES ********************** //******************************************************************* 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("\nRecuerde que el ultimo valor de cada renglon es del vector b\n"); for ( k=0; k < n; k++) { for (j=0; j< n+1; j++) { printf("[%d,%d]: ", k+1,j+1); scanf("%f",&a[k][j]); } 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++) //aqui n son renglones { if (k != i) { Cero = a[k][i]; for (j=i; j