elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  POR FAVOR AYUDA CON PROGRAMA EN C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: POR FAVOR AYUDA CON PROGRAMA EN C++  (Leído 2,193 veces)
lolo18

Desconectado Desconectado

Mensajes: 3


Ver Perfil
POR FAVOR AYUDA CON PROGRAMA EN C++
« en: 10 Noviembre 2013, 11:12 am »

Que tal, Estoy iniciándome en esto de la programación y me han dejado investigar un programa que resuelva ecuaciones por el método de gauss. Quisiera saber si alguien puede ayudarme a poner comentarios a lo largo del programa para comprender el funcionamiento del mismo en cada una (o la mayoría) del código fuente que les presento a continuación:

#include <iostream.h>
#include <conio.h>
#include <stdio.h>


using namespace std;

void captura(double a[50][50],int n)
{
int c,f;
for(c=0;c<n;c++)
{
                for(f=0;f<n+1;f++)
                {
                                  if(f<n)
                                  {
                                  system("cls");
                                  cout<<"\n\n\n\n  Captura de la matriz :";
                                  cout<<"\n\n X"<<f+1<<" :  ";
                                  cin>>a[c][f];
                                  }
                                  else
                                  {
                                      system("cls");
                                  cout<<"\n\n\n\n  Captura de la matriz :";
                                  cout<<"\n\n Constante = ";
                                  cin>>a[c][f];
                                  }                               
                               
                }

}
}



void imprimir (double a[50][50],int n)
{
int c,f;
cout<<"\n\n\n Matriz de "<<n<<" x "<<n<<"\n\n\n  ";
for(c=0;c<n;c++)
{
                for(f=0;f<n+1;f++)
                {
                                if(f<n)
                                {
                                    cout<<"  "<<a[c][f];
                                }
                                else
                                {
                                    cout<<" = "<<a[c][f];
                                }                                   
                }
                cout<<"\n  ";
}
}


void metodogaussjordan (double a[50][50], int n)
{
int e,ee,c,f,cc,ff;
double r[50][50],d,g,b;
e = 0;

for(c=0;c<n;c++)
{
b=a[c][c];
           
           for(f=0;f<n+1;f++)
           {
                             a[c][f]=(a[c][f])/b;
                             r[c][f]=a[c][f];                   
           }
           
           cout<<"\n R"<<c+1<<" = R"<<c+1<<"/"<<b;
           cout<<"\n\n";
           for(ee=0;ee<n;ee++)
           {
                           for(ff=0;ff<n+1;ff++)
                           {
                           
                           cout<<"   "<<a[ee][ff];
                                   
                           }
                           cout<<"\n";
           }
           
          cout<<"\n\n Suma de renglones multiplicados por pibote\n\n";
           for(cc=e;cc<n;cc++)
           {
           d=a[cc+1][c];
           
                           
                           
                           for(ff=0;ff<n+1;ff++)
                           {
                           r[cc+1][ff]=((-1*d)*(a[c][ff]))+(a[cc+1][ff]);
                           
                               
                           
                           a[cc][ff]=r[cc][ff];         
                           }
                           
                           
                           
           }
          e=e+1;
         
          if(c>0 )
          {
          for(cc=0;cc<c;cc++)
          {
          g=r[cc][c];
                    for(ff=0;ff<n+1;ff++)
                    {
                           r[cc][ff]=((-1*g)*(a[c][ff]))+(a[cc][ff]);
                         a[cc][ff]=r[cc][ff];
                    }
                   
           
          }
          }
         
          if(c<n)
          {
          for(cc=0;cc<n;cc++)
           {
           
           
                           for(ff=0;ff<n+1;ff++)
                           {
                                               
                           cout<<"   "<<r[cc][ff];
                                 
                           }
                           
                           cout<<"\n";
           }}
           cout<<"\n";         
}
}




int main ()
{

int n,f,c,cc,ff,e,ee,sn;
double a[50][50],b,d,g,r[50][50];
do{system("cls");
cout<<"\n\n\n\n\n         BIENVENIDO";
cout<<"\n Eliminacion de GAUSS JORDAN de una Matriz n x n \n\n\n";
cout<<"\n Por favor teclee el tamaño de la matriz : ";
cin>>n;
captura(a,n);
imprimir(a,n);
cout<<"\n\n\n\n";
metodogaussjordan(a,n);


cout<<"\n\n";
for(c=0;c<n; c++)
{
cout<<"\n\n  X"<<c+1<<" = "<<a[c][n];
}
getch();
do{system("cls");
cout<<"\n\n\n   ¿ DESEA RESOLVER OTRO SISTEMA DE ECUACIONES ?\n\n\n\n  1.- Si \n\n  2.- NO(salir)\n\n OPC. : ";
cin>>sn;
}while(sn<1 || sn>2);
}while(sn<2);
return 0;
}





Sería de gran ayuda su apoyo. Mil gracias y saludos.


En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: POR FAVOR AYUDA CON PROGRAMA EN C++
« Respuesta #1 en: 10 Noviembre 2013, 18:41 pm »

Mmmm.. el ejercicio no sera ponerle comentarios al programa, no? :silbar:
Aun así, me parece que tendrías que enfocarlo de otra forma.. O sea, comprendes algo del código?
Si estas comenzando a aprender, te va a convenir aprender sobre funciones, variables, bucles (si es que no sabes, claro) y entonces, hacer una consulta mas puntual.

Saludos!


En línea

Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: POR FAVOR AYUDA CON PROGRAMA EN C++
« Respuesta #2 en: 10 Noviembre 2013, 21:28 pm »

Creo que Vaagish tiene razón, es imposible que no entiendas ninguna de las líneas. Si no sabes que hace un comando en concreto tienes esta página que está muy bien. http://www.cplusplus.com/

La función que puede que te pierdas un poco es en la de "metodogaussjordan" pero si tienes el algoritmo o método de este tipo de resolución lo entenderás rápidamente.

Si tienes dudas más concretas no dudes en preguntarlas, pero demuestra que es un problema o ejercicio tuyo y no nuestro.

Un saludo!
« Última modificación: 10 Noviembre 2013, 21:31 pm por Almapa » En línea

lolo18

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: POR FAVOR AYUDA CON PROGRAMA EN C++
« Respuesta #3 en: 10 Noviembre 2013, 23:11 pm »

ok, gracias por la pagina.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
POR FAVOR Ayuda con el programa Read21
Ingeniería Inversa
nidekun 0 1,988 Último mensaje 21 Mayo 2005, 17:25 pm
por nidekun
Ayuda con programa por favor
Programación C/C++
Crucita25 2 1,755 Último mensaje 8 Agosto 2014, 07:53 am
por eferion
Ayuda por favor con programa en DEV-C++
Programación C/C++
Faceless 1 1,690 Último mensaje 27 Septiembre 2015, 04:23 am
por engel lex
Por favor ayuda con un programa.
Software
pullmanpol 1 1,180 Último mensaje 30 Enero 2016, 22:10 pm
por Machacador
Ayuda por favor con un programa
Programación C/C++
guirudj007 4 3,041 Último mensaje 5 Febrero 2016, 06:12 am
por furciorifa
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines