Aire

Solo disponible en BuenasTareas
  • Páginas : 2 (448 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de junio de 2010
Leer documento completo
Vista previa del texto
LEY DE GAUSS-JORDAN EN BORLAND

#include <stdio.h> /*para printf y scanf*/
#include <conio.h> /*para clrscr y gotoxy*/
#include <stdlib.h> /*para exit*/
#include<math.h> /*para fabs*/

#define N 20
#define M N

typedef float real;
typedef real VECTOR[M];
typedef real MATRIZ[M][N];
enum boolean{BIEN,ERROR};
enum{SINGULAR,METODO};enum{JACOBI=1,SEIDEL,SOR,GAUSS,SALIR};
void _error(int);

void _error(int i)
{
char *msg[]={
"MATRIZ SINGULAR",
"METODO NO CONVERGE",
""
};
printf("\n %s ",msg[i]);printf("\n");
getch();
}

boolean Gauss(int n,MATRIZ A,VECTOR X)
{
register int i,j,z;
float aux,pivote;
for (i=0;i<n;++i){
pivote = A[i][i];
if(pivote==0.0) return ERROR;
for(j=i;j<n+1;++j)
A[i][j] = A[i][j]/pivote;
for (z=0;z<n;++z){
if (z!=i){
aux = A[z][i];
for(j=i;j<n+1;++j)
A[z][j]= A[z][j]-(aux*A[i][j]);
}
}
}for(i=0;i<n;++i){
X[i]=A[i][n];
}

return BIEN;
}

int menu(void)
{
int op;
gotoxy(26,2);
printf(" METODO DE GAUSS JORGAN\n\n");
printf(" TECLEA EL NUMERO 4 PARA ACCESARAL METODO DE GAUSS-JORDAN\n");
printf("4.- GAUSS-JORDAN\n");
printf("5.- Exit\n");
printf("=> ");
scanf("%d",&op);
return op;
}

real LeeValor(void)
{
real valor;scanf("%f",&valor);
return valor;
}
void ImprimeMatriz(MATRIZ A,int ren,int col)
{
register int i,j;
printf("\n\n");
printf(" Matriz Tecleada");
printf("\n\n");for(i=0;i<ren;++i)
{
for(j=0;j<col;j++)
printf(" %g ",A[i][j]);
printf("\n");
}
}

boolean LeeMatriz(int &ren,int &col,MATRIZ A)
{
register int i,j;
int f,c;printf("\n Escriba el orden de la matriz -> ");
scanf("%d",&ren);
col= ren+1;
for(i=0;i< ren;i++){
f=(i+1)+12;
for(j=0;j< col;j++){
c=(j+1)*7;
gotoxy(2,12);...
tracking img