[duro@FireMachine ~]$ ./mat 2.00 5.00 1.00 50.00 4.00 5.00 2.00 90.00 8.00 40.00 3.00 210.00 venga... vamos a empezar... 2.000 5.000 1.000 50.000 0.000 2.500 0.000 5.000 0.000 0.000 0.125 3.750 0.125 0.000 0.000 3.750 0.000 2.500 0.000 5.000 1.000 5.000 2.000 50.000 0.125 0.000 0.000 3.750 0.000 2.500 0.000 5.000 0.000 0.000 -1.000 -5.000 ***X1=5 X2=5/2.5=2 X3=3.75/.125=30********* he aqui el codigo terminado[duro@FireMachine ~]$ cat mat.c #include #include main(){ int a,b,c,bandera,n; float k; float mat[10][11]; float temp[10][11]; // lena la matriz... n es el numero de variables, tiene que ser una matriz cuadrada n=3; mat[1][1]=2; mat[1][2]=5; mat[1][3]=1; mat[1][4]=50; mat[2][1]=4; mat[2][2]=5; mat[2][3]=2; mat[2][4]=90; mat[3][1]=8; mat[3][2]=40; mat[3][3]=3; mat[3][4]=210; for(a=1;a<=n;a++){ for(b=1;b<=n+1;b++){ printf(" %.2f ",mat[a][b]); } printf(" \n"); } printf("venga... vamos a empezar... \n"); a=1; for(a=1;a<=n-1;a++){ for(b=a+1;b<=n;b++){ if(mat[b][a]==0){ bandera=1; } else{k=(mat[a][a]/mat[b][a])*-1; bandera=0; } for(c=1;c<=n+1;c++){ if(bandera==0){mat[b][c]=mat[b][c]*k+mat[a][c];} } } } printf("\n \n "); for(a=1;a<=n;a++){ for(b=1;b<=n+1;b++){ printf(" %.3f ",mat[a][b]); } printf(" \n"); } printf("\n \n "); for(a=1;a<=n;a++){ for(b=1;b<=n+1;b++){ temp[a][b]=mat[4-a][b]; } } for(b=1;b<=n;b++){ for(a=1;a<=n;a++){ mat[b][a]=temp[b][4-a]; } mat[b][4]=temp[b][4]; } for(a=1;a<=n;a++){ for(b=1;b<=n+1;b++){ printf(" %.3f ",mat[a][b]); } printf(" \n"); } for(a=1;a<=n-1;a++){ for(b=a+1;b<=n;b++){ if(mat[b][a]==0){bandera=1;} else{k=(mat[a][a]/mat[b][a])*-1; bandera=0;} for(c=1;c<=n+1;c++){ if(bandera==0){mat[b][c]=mat[b][c]*k+mat[a][c];} } } } printf("\n \n "); for(a=1;a<=n;a++){ for(b=1;b<=n+1;b++){ printf(" %.3f ",mat[a][b]); } printf(" \n"); } printf("terminado"); return(0); } [duro@FireMachine ~]$