You are on page 1of 16

#include <iostream.

h>

//BIBLIOTECAS

#include <time.h>

#include <conio.h>

#include <dos.h>

#define maxi 20

float matriz[maxi][maxi],b[maxi][maxi],inter; //VARIABLES GLOBALES

time_t t;

//variable que contiene la hora de la pila del sistema

//FUNCIONES

void impr_matriz(float x, float y,int l); //funcion para la impresion de la matriz

void titulo();

//funcion para la impresion del titulo

void salida();

//funcion para salir de programa

void solucion(int a,int l);

//funcion que presenta la solucion al sistema

void cond(float a);

//FUNCION PRINCIPAL

void main ()

//inicio main

int n,i,j,a,lon,in,z,c,fin,decear,elige; //variables locales

char modi,inicio,compr,otro;

inicio:

clrscr();

titulo();

cout<<"\nCuantas soluciones tendra el sistema [

]";

gotoxy(39,6);

cin>>n;

cond(n);

if (n<=0)

//inicio if n<=0

goto inicio;

//fin if n<=0;

else

//inicio else n<=0

for (i=1;i<=n;i++)

//inicio for i

for (j=1;j<=n+1;j++)

//inicio for j

cout<<"introduce el valor ["<<i<<","<<j<<"]: ";

cin>>matriz[i][j];

//fin for j

} //fin for i

clrscr();

titulo();

cout<<"\nLa matriz es:\n";

impr_matriz(i,j,n);

//PROCESO PARA METODO

z=n+1;

do

//inicio do

if (matriz[1][1]==0)

//inicio if matriz

c=z-1;

for (i=2;i<=c;i++)

//inicio for i=2

if (matriz[i][1]!=0)

//inicio if matriz

for (j=1;j<=z;j++)

{ //inicio for j=1

inter=matriz[i][j];

//cout<<"inter vale: "<<matriz[i][j]<<"\t";; getch();

matriz[i][j]=matriz[1][j];

///INTERCAMBIAR RENGLONES

//cout<<"matriz[i][j] vale: "<<matriz[1][j]<<"\t"; getch();

matriz[1][j]=inter;

//cout<<"matriz[1][j] vale: "<<inter<<"\n"; getch();

//fin for j=1

//fin if matriz

//fin for=2

cout<<"\nPresiona una tecla para hacer intercambio de renglones..."; getch();

if (matriz[1][1]==0)

//inicio for matriz

elige:

cout<<"\n\n\n\tEste sistema de ecuaciones no puede resolverse";

cout<<"\n\n\tDeceas:\n\t1. INGRESAR NUEVOS DATOS\n\t2. SALIR DEL PROGRAMA\n\tElige: ";

cin>>decear;

if(decear==1)

//inicio if decear=1

goto inicio;

//fin ir decear=1

else

//inicio else decear=1

if (decear==2)

//inicio if decear=2

goto fin;

//fin if decear=2

else

//inicio else decear=2

if (decear!=1 && decear!=2)

//inicio if decear!=1 && decear!=2

clrscr();

titulo();

goto elige;

//fin if decear!=1 && decear!=2

//fin else decear=2

//fin else decear=1

//fin if decear=1

cout<<"\n\nLa nueva matriz a quedado:\n";

impr_matriz(i,j,n);

//fin if matriz

else

//inicio else matriz

for (j=2;j<=z;j++)

//inicio for j=2

for (i=2;i<=n;i++)

//inicio for i=2

b[i-1][j-1]=matriz[i][j]-matriz[1][j]*matriz[i][1]/matriz[1][1];

// cout<<"b["<<i-1<<"]["<<j-1<<"]= "<<b[i-1][j-1]<<"\t"; getch();

//fin for i=2

//fin for j=2

for (j=2;j<=z;j++)

//inicio for j=2

b[n][j-1]=matriz[1][j]/matriz[1][1];

//fin for j=2

z-=1;

for (j=1;j<=z;j++)

//inicio for j=1

for (i=1;i<=n;i++)

//inicio for i=1

matriz[i][j]=b[i][j];

//fin for i=1

//fin for j=1

//fin else matriz

//fin do

while (z>1);

cout<<"Presiona una tecla para mostrar la solucion al sistema....";

getch();

cout<<"\n\t\t\tLa solucion es:\n ";

solucion(i,n);

cout<<"\n\n\nDeseas calcular otro sistema de ecuaciones (S/N): ";

cin>>otro;

if (otro=='s'||otro=='S')

//inicio if otro

goto inicio;

//fin if otro

else

//inicio else otro

salida();

//fin else otro

//fin else n<=0

getch();

fin:

clrscr();

salida();

getch();

//fin funcion principal

//FUNCIONES SECUNDARIAS

void impr_matriz(float x, float y,int l)//funcion para la impresion de la matriz

//inicio funcion impr_matriz

for (x=1;x<=l;x++)

//inicio for x

for (y=1;y<=l+1;y++)

//inicio for y

cout<<matriz[x][y];

//fin for y

cout<<"\n";

//fin for x

//fin funcion impr_matriz ?

void titulo()

//funcion para la impresion del titulo

//inicio funcion titulo

cout<<"

ALGEBRA LINEAL\n";

cout<<"

Metodo de Gauss-Jordan\n\n";

cout<<"HOY ES:";

time (&t);

//da hora almacenada en &t

gotoxy (10,4);

cout<<ctime(&t);

//impresion de hora

void salida()

//funcion para salir de programa

//inicio de funcion salida

clrscr();

cout<<"

PUEDES PONER LO QUE QUIERAS AQUI\n";

cout<<"\n\n\n\nPresiona cualquier tecla para salir...";

//fin funcion salida

void solucion(int a,int l)

//presenta solucion al sistema

for (a=1;a<=l;a++)

cout<<"\n\t\t\tX"<<a<<" = "<<matriz[a][1];

void cond(float a)

char b=65;

for (int i=65;i<90;i++)

if (a==b)

cout<<"nel";

You might also like