Вы находитесь на странице: 1из 4

REPUBLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD ALEJANDRO DE HUMBOLDT


CUARTO SEMESTRE - NOCTURNO
PROGRAMACION NUMERICA Y NO NUMERICA

PROGRAMA QUE RESUELVE UN SISTEMAS DE


ECUACIONES POR EL METODO DE GAUSS

REALIZADO POR:

Oscar Salazar C.I 12878041


Darlin La Barca C.I 11673123
Martín Olivero C.I 6344203

CARACAS, 08/10/2002
/*
PROGRAMA QUE RESUELVE UNA ECUACION POR EL METODO DE GAUSS 3*4

REALIZADO POR: OSCAR SALAZAR, DARLIN LA BARCA, MARTIN OLIVEROS

LIMITACIONES:EL PROGRAMA NO DETERMINA QUE LA MATRIZ ES INCONSISTENTE.

Y EL PROGRAMA FALLA SI SE TECLEA UN CARACTER INCORRECTO.


*/

#include "stdio.h"

float arre[3][4],valor,temp,x1,x2,x3,var;
int x,y,ren=0,i,j;
char opc;

main()
{
do{
/****EJECUTA LA FUNCION QUE LIMPIA EL ARREGLO***/
limpia();
/****LIMPIO PANTALLA***/
clrscr();
gotoxy(20,1);printf("***METODO DE GAUSS***");
/*INICIAMOS UN CICLO PARA INTRODUCIR VALORES*/
for(x=0;x<3;x++){
for(y=0;y<4;y++){
do{
gotoxy(1,ren+2);
printf("VALOR DE X[%d][%d]==> ",x+1,y+1); /*VALORES*/
despliega();
gotoxy(1,ren+2);printf("VALOR DE X[%d][%d]==>",x+1,y+1);
scanf("%f",&var); /*ALMACENO UNA VARIABLE*/
if(var==0)
printf("\a");
}while(var==0); /*FORZO A QUE NO SEA CERO EL RESULTADO*/
ren+=1;
arre[x][y]=var; /*Y LA ALMACENO EN EL ARRAY*/
}
}

despliega(); /*FUNCION QUE ME DESPLIEGA LOS VALORES*/

valor=arre[0][0]; /*PARA PODER OBETENER EL1*/


for(x=0;x<4;x++){
arre[0][x]=arre[0][x]/valor;
}

valor=arre[1][0]*(-1); /*MULTIPLICO POR EL SEGUNDO RENGLON Y SUMO*/


for(x=0;x<4;x++){
temp=arre[0][x]*valor;
arre[1][x]=temp+arre[1][x];
}

valor=arre[1][1];
for(x=0;x<4;x++){ /*PARA PODER OBETENER EL 1*/
arre[1][x]=arre[1][x]/valor;
}

valor=arre[2][0]*(-1);
for(x=0;x<4;x++){
temp=arre[0][x]*valor;
arre[2][x]=temp+arre[2][x];
}

valor=arre[2][1]*(-1);
for(x=0;x<4;x++){
temp=arre[1][x]*valor;
arre[2][x]=temp+arre[2][x];
}

despliega2();
resultados();

gotoxy(30,23);printf("¨DESEA VOLVER A CALCULAR [S/N]?=>>");


opc=getch();

}while(opc=='s' || opc=='S'); /*FORZAMOS A QUE SE REPITA*/


gotoxy(30,25);printf("PRESIONE UNA TECLA PARA FINALIZAR...");
getch();
clrscr();
exit(1);
return;
}

/*************************************FUNCIONES****************************/
/*FUNCION QUE DESPLIEGA LA MATRIZ*/
despliega()
{
gotoxy(35,3);printf("MATRIZ ORIGINAL");
for(i=0;i<3;i++){
for(j=0;j<4;j++){
gotoxy(j*8+30,i*2+5);printf("%0.1f",arre[i][j]);
}
}
return;
}
/************************************************************************/

/********************FUNCION QUE DESPLIEGA LA SOLUCION*******************/


despliega2()
{
gotoxy(38,13);printf("METODO GAUSS");
for(x=0;x<3;x++){
for(y=0;y<4;y++){
gotoxy(y*8+30,x*2+15);printf("%0.2f",arre[x][y]);
}
}
return;
}
/**************************************************************************/
/*****************FUNCION QUE DESPLIEGA LOS RESULTADOS**********************/
resultados()
{
x3=arre[2][3]/(arre[2][2]);
gotoxy(3,20);printf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
gotoxy(3,16);printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
gotoxy(21,17);printf("º");
gotoxy(21,18);printf("º");
gotoxy(21,19);printf("º");
gotoxy(3,19);printf("º X3= %f",x3);
x2=arre[1][3]+(arre[1][2]*-1)*x3;
gotoxy(3,18);printf("º X2= %f",x2);
x1=arre[0][3]+(arre[0][1]*x2*-1)+(arre[0][2]*x3*-1);
gotoxy(3,17);printf("º X1= %f",x1);
gotoxy(3,15);printf("**RESULTADOS**");
return;
}
/*************************************************************************/
/*****************FUNCION QUE LIMPIA EL ARRAY*****************************/
limpia()
{
int w,z;
x=y=ren=var=i=j=0;
for(w=0;w<4;w++){
for(z=0;z<4;z++){
arre[w][z]=NULL;
}
}
return;
}
/************************************************************************/

Вам также может понравиться