You are on page 1of 3

// metodo de la montante.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include <iostream>

#define N 11

using namespace std;

void pide_datos(int Lista[][11], int& tam);


void mostrarMatriz(int J[][11],int tam);
void Montante(int sistema[][11],int n);
void despliega_Result(int J[][11],int tam);

int main()
{
cout<<"\t\t\t***** Metodo Montante *****\n"<<endl;
cout<<"Grupo: 1 "<<endl;
cout<<"Integrantes: \n"<<endl;
cout<<"\t Mary Leny Justiniano"<<endl;
cout<<"\t Dayana Rubin de Celis"<<endl;
cout<<"\t Valeria Villarroel"<<endl;
cout<<"\t Laura Palma"<<endl;

int Matriz[N][N];
int tam;

pide_datos(Matriz,tam);
mostrarMatriz(Matriz,tam);
Montante(Matriz,tam);
despliega_Result(Matriz,tam);
getch();
return 0;
}

/*Rutina la cual pide la matriz aumentada*/

void pide_datos(int Lista[][11], int& tam)


{
char x;

cout<<endl<<"----------------------------------------------------------------
---------------"<<endl;
cout<<"Este programa resuelve un sistema de ecuaciones de maximo 10
ecuaciones"<<endl;
cout<<"y 10 incongnitas."<<endl;
cout<<"Cuantas ecuaciones deseas [1,10]?";
cout<<endl<<"----------------------------------------------------------------
---------------"<<endl;
/*Esto asegura que el tama�o este dentro del rango permitido*/
do
{
cin>>tam;
if(tam>=11 || tam<=0 )
{
cout<<"\nEl programa solo resuelve tama�os
de 10 ecuaciones como maximo"<<endl;
}
else
{
//Se asegura el programa que
la elecci�n haya sido la adecuada. En caso de
//no serla la cambiara por una
nueva elecci�n.

cout<<"\nEstas seguro que


deseas un sistema de "<<tam<<" ecuaciones (s/n)"<<endl;
cin>>x;
if(tolower(x)!= 's')
{
cout<<"\n�Numero
de ecuaciones que deseas?"<<endl;
}
}
}while(tam>=11 || tam<=0 || tolower(x)!='s');

for(int i=0;i<tam;i++)
{
for(int j=0; j<tam+1; j++)
{
cout<<"A[" <<i+1<<"]["<<j+1<<"]=";
cin>>Lista[i][j];
cout<<endl;
}
}
}
//Aqui se resuelve el sistema de ecuaciones con la peculiaridad de que en la
diagonal
//principal estara el valor de la determinante del sistema.

void mostrarMatriz(int J[][11],int tam)


{
for(int i=0; i<tam; i++)
{
cout<<"| ";
for(int j=0;j<tam+1;j++)
{
cout<<J[i][j]<<"\t";
}
cout<<" |"<<endl;
}
cout<<endl;
}

void Montante(int sistema[][11],int n)


{
int pivote=1;
int cero=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(j!=i)
{
cero=sistema[j][i];
for(int k=0;k<n+1;k++)
sistema[j][k]=int((sistema[i][i]*sistema[j][k]-
cero*sistema[i][k])/pivote);
}
}
pivote=sistema[i][i];
}

void despliega_Result(int J[][11],int tam)


{
cout<<"Luego de aplicar las operaciones, la matriz sera: "<<endl;

for(int i=0; i<tam; i++)


{
cout<<"| ";
for(int j=0;j<tam+1;j++)
{
cout<<J[i][j]<<"\t";
}
cout<<" |"<<endl;

}
cout<<endl;

cout<<"La solucion del sistema es: "<<endl;


for(int i=0; i<tam;i++)
{
cout<<"x"<<i+1<<"= "<<J[i][tam]/J[i][i]<<endl;
}
}

You might also like