un problema q me dejaron, pense hacerlo de esta manera: primero escalonar la matriz inferior y superiormente, luego pasarla a la matriz identidad y tomar una matriz q empiece en la identidad y realizar las mismas operaciones q a la matriz q ingrese por teclado... el problema esta en escalonarlo, si bien lo he probado manualmente, la computadora solo atina a escalonar, pero los terminos centrales no cambian de valor... el primer paso (y en el q busco ayuda seria escalonar la matriz superiormente) el resto ya lo tengo pensado
#include<stdio.h> #include<conio.h> int main(){ int i,j,k,n; float x[80][80];
printf("ingresar el orden de la matriz\n"); scanf("%d",&n); for(i=1; i<=n;i++){ for(j=1; j<=n;j++){ printf("ingresar x[%d][%d]: ",i,j); scanf("%f",&x[j]);}} for(k=1; k<n;k++){ for(i=k+1; i<=n;i++){ for(j=1; j<=n;j++) x[j]=x[j]-(x[k][j]*x[k])/x[k][k]; }} printf("la matriz escalonada es"); for(i=1; i<=n;i++){ printf("\n"); for(j=1; j<=n;j++) printf("%f ",x[j]);} for(k=n; k>1;k--){ for(i=k-1; i>=1;i--){ for(j=n; j>=1;j--) x[j]=x[j]-(x[k][j]*x[k])/x[k][k]; }}
printf("la matriz escalonada es"); for(i=1; i<=n;i++){ printf("\n"); for(j=1; j<=n;j++) printf("%f ",x[j]);}
getch(); }
|