Practica 2
Enviado por jos180194696 • 21 de Abril de 2013 • 404 Palabras (2 Páginas) • 295 Visitas
/*metodo eliminacion gaussiana para matriz de 3x3 y arreglo de terminos independientes
hecho por huicho*/
#include <stdio.h>
//funcion que recibe el arreglo sistema por referencia por eso no va
// numero en el primer parentesis
void imprimirSistema(float arreglo[][3],float b[])
{
int i=0,j=0;
printf("\n\nSistema de Ecuaciones: \n\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
//si llega a la cuarta columna toma el elemento del arreglo b
if(j==3)
printf("\t%.2f ",b[i]);
else
printf("\t%.2f ",arreglo[i][j]);
}
printf("\n");
}
}
//funcion q hace 1 coef de diagonal principal
void normalizar(int renglon, float arreglo[][3], float b[])
{
int i=0;
float coeficientepivote=0;
coeficientepivote = arreglo[renglon][renglon];
for(i=0;i<4;i++)
{
if(i==3)
b[renglon] = b[renglon] / coeficientepivote;
else
arreglo[renglon][i] = arreglo[renglon][i] / coeficientepivote;
}
printf("\n*** Haciendo 1 el coeficiente en la diagonal de la ecuacion %d ***",renglon+1);
imprimirSistema(arreglo,b);
}
int main (int argc, char *argv[])
{
int i,j,k=0,renglon=0,c,d;
float sistema[3][3],b[1][3];
//arreglo con los terminos independientes
float renglonmodif[3]={0,0,0};
float b_modif=0;
float constante=0,x1=0,x2=0,x3=0;
FILE *ap, *ap1;
ap = fopen("matriz.txt", "r");
if(ap==NULL)
printf("ERROR: Archivo no encontrado");
else
{
printf("\n El archivo se abrio correctamente\n");
c=fgetc(ap);
for(i=0; i<3; i++)
{for(j=0; j<3;j++)
{ fscanf(ap,"%i",&sistema[i][j]);
printf(" %d ", sistema[i][j]);}
printf("\n");}
}
ap1=fopen("d.txt","r");
if(ap==NULL)
printf("ERROR: Archivo no encontrado");
else
{
printf("\n El archivo se abrio correctamente\n");
d=fgetc(ap1);
for(i=0; i<3; i++)
{for(j=0; j<1;j++)
{ fscanf(ap,"%i",&b[i][j]);
printf(" %d ", b[i][j]);}
printf("\n");}
}
imprimirSistema(sistema,b);
renglon = 0;
normalizar(renglon, sistema, b);
//tomando ecuacion 1 como renglon pivote y reduciendo hacia abajo
for(k=1;k<3;k++) //ciclo para recorrer renglones desde segunda ecuacion
{
//toma el coeficiente
...