#include #include main() { double sumatoria; int i,j,k,tam,s; double a[4][4]; double u[4][4]; double l[4][4]; tam=4; a[0][0]=6.0; a[0][1]=2.0; a[0][2]=1.0; a[0][3]=-1.0; a[1][0]=2.0; a[1][1]=4.0; a[1][2]=1.0; a[1][3]=0.0; a[2][0]=1.0; a[2][1]=1.0; a[2][2]=4.0; a[2][3]=-1.0; a[3][0]=-1.0; a[3][1]=0.0; a[3][2]=-1.0; a[3][3]=3.0; l[0][0]=0.0; l[0][1]=0.0; l[0][2]=0.0; l[0][3]=0.0; l[1][0]=0.0; l[1][1]=0.0; l[1][2]=0.0; l[1][3]=0.0; l[2][0]=0.0; l[2][1]=0.0; l[2][2]=0.0; l[2][3]=0.0; l[3][0]=0.0; l[3][1]=0.0; l[3][2]=0.0; l[3][3]=0.0; u[0][0]=0.0; u[0][1]=0.0; u[0][2]=0.0; u[0][3]=0.0; u[1][0]=0.0; u[1][1]=0.0; u[1][2]=0.0; u[1][3]=0.0; u[2][0]=0.0; u[2][1]=0.0; u[2][2]=0.0; u[2][3]=0.0; u[3][0]=0.0; u[3][1]=0.0; u[3][2]=0.0; u[3][3]=0.0; for (i = 0; i < tam; i++) l[i][i] = 1.0; for ( k = 0; k < tam; k++) { for ( j = 0; j < tam; j++) { sumatoria = 0.0; for ( s = 0; s < tam; s++) { sumatoria += l[k][s] * u[s][j]; if (k==tam-1 && j==1) { printf("cout << ERROR << sumatoria << endl;\n"); printf("cout << l[ << k << , << s << ] X u[ << s << , << j << ] = << l[k][s]*u[s][j] << endl;cout << ERROR << sumatoria << endl;\n"); /* cout << "ERROR " << sumatoria << endl; cout << "l[" << k << "," << s << "] X u[" << s << "," << j << "] = " << l[k][s]*u[s][j] << endl; */ } } u[k][j] = (a[k][j] - sumatoria) / l[k][k]; printf("u[%d][%d]=%e\n" ,k,j,u[k][j]); } /* fin de j */ for ( i = k+1; i < tam; i++) { sumatoria = 0.0; for ( s = 0; s < tam; s++) { sumatoria += l[i][s] * u[s][k]; } l[i][k] = (a[i][k] - sumatoria) / u[k][k]; printf("l[%d][%d]=%e\n" ,i,k,l[i][k]); } } /* fin de i */ } /* fin de main */ el_choya@pc-joel:~# gcc bimbo.c -o bimbo el_choya@pc-joel:~# ./bimbo u[0][0]=6.000000e+00 u[0][1]=2.000000e+00 u[0][2]=1.000000e+00 u[0][3]=-1.000000e+00 l[1][0]=3.333333e-01 l[2][0]=1.666667e-01 l[3][0]=-1.666667e-01 u[1][0]=0.000000e+00 u[1][1]=3.333333e+00 u[1][2]=6.666667e-01 u[1][3]=3.333333e-01 l[2][1]=2.000000e-01 l[3][1]=1.000000e-01 u[2][0]=0.000000e+00 u[2][1]=0.000000e+00 u[2][2]=3.700000e+00 u[2][3]=-9.000000e-01 l[3][2]=-2.432432e-01 u[3][0]=0.000000e+00 cout << ERROR << sumatoria << endl; cout << l[ << k << , << s << ] X u[ << s << , << j << ] = << l[k][s]*u[s][j] << endl;cout << ERROR << sumatoria << endl; cout << ERROR << sumatoria << endl; cout << l[ << k << , << s << ] X u[ << s << , << j << ] = << l[k][s]*u[s][j] << endl;cout << ERROR << sumatoria << endl; cout << ERROR << sumatoria << endl; cout << l[ << k << , << s << ] X u[ << s << , << j << ] = << l[k][s]*u[s][j] << endl;cout << ERROR << sumatoria << endl; cout << ERROR << sumatoria << endl; cout << l[ << k << , << s << ] X u[ << s << , << j << ] = << l[k][s]*u[s][j] << endl;cout << ERROR << sumatoria << endl; u[3][1]=-5.556536e-18 u[3][2]=0.000000e+00 u[3][3]=2.581081e+00 el_choya@pc-joel:~# :)