|
Mostrar Mensajes
|
Páginas: [1]
|
2
|
Programación / Programación C/C++ / 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.
|
|
|
3
|
Programación / Programación General / DUDA CON FUNCIONAMIENTO DE PROGRAMA
|
en: 10 Noviembre 2013, 11:00 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.
|
|
|
|
|
|
|