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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda, clase polinomio c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda, clase polinomio c++  (Leído 3,129 veces)
KArroyo

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda, clase polinomio c++
« en: 20 Agosto 2015, 06:19 am »

Buenas, tengo que hacer el metodo suma polinomios, agradeceria cualquier tipo de ayuda.

Código:
#include "Monomio.h"


Monomio::Monomio() {
signo=' ';
coeficiente=0.0;
parteLiteral=' ';
grado=1;
}

Monomio::Monomio(char s,float c, char pl, int g) {
signo=s;
coeficiente=c;
parteLiteral=pl;
grado=g;
}

Monomio::Monomio(Monomio &m){
signo=m.getSigno();
coeficiente = m.getCoeficiente();
parteLiteral = m.getParteLiteral();
grado = m.getGrado();
}

void Monomio::setSigno(char s){
signo=s;
}

void Monomio::setCoeficiente(float c) {
coeficiente=c;
}

void Monomio::setparteLiteral(char pl) {
parteLiteral=pl;
}

void Monomio::setGrado(int g) {
grado=g;
}

char Monomio::getSigno(){
return signo;
}

float Monomio::getCoeficiente() {
return coeficiente;
}

char Monomio::getParteLiteral() {
return parteLiteral;
}

int Monomio::getGrado() {
return grado;
}

string Monomio::toString(){
stringstream s;
if(grado==1){
s<<signo<<coeficiente<<parteLiteral;
}

else{
s<<signo<<coeficiente<<parteLiteral<<"^"<<grado;
}
s<<" ";
return s.str();
s<<endl;
}

Monomio::~Monomio(void)
{
}

#include "Polinomio.h"

Polinomio::Polinomio(){
cantidad=0;
tamano=0;
vector = new Monomio*[NULL];
for(int i=0;i<tamano;i++){
vector[i]=NULL;
}
}

Polinomio::Polinomio(int n) {
cantidad =0;
tamano = n;
vector = new Monomio*[n];
for(int i=0;i<n;i++){
vector[i]=new Monomio;
}
}

void Polinomio::insertaElementos(Monomio* m) {
vector[cantidad] = m;
cantidad++;
}


void Polinomio::imprimeElementos(){
for(int i=0;i<cantidad;i++){
cout<<vector[i]->toString();
}
}

void Polinomio::sumaPolinomio(Monomio*){

}

void Polinomio::sumaPolinomios(Monomio*, Monomio*){
}

void Polinomio::ordenaPolinomio(Monomio*){
for(int i=0;i<tamano;i++){
if(vector[i]<vector[i+1]){
Monomio* temp;
temp = vector[i];
vector[i]= vector[i+1];
vector[i+1]=temp;
}
}
}

Polinomio::~Polinomio(void) {
cantidad=0;
for(int i=0;i<cantidad;i++)
delete vector[i];
}

#include "Interfaz.h"

int n;
Polinomio A(n);
Polinomio B(n);


Interfaz::Interfaz(){
}

void Interfaz::portada(){
cout<<"  MINI PROYECTO I "<<endl;
cout<<" SUMA DE POLINOMIOS "<<endl;
cout<<"----------------------------------"<<endl;
cout<<endl<<endl;
cout<<"Hecho por: ---------------------"<<endl;
cout<<"           ------- ------ ------"<<endl;
cout<<"----------------------------------"<<endl;
cout<<endl;
cout<<endl;
system("pause");
system("cls");
regresar();
}



int Interfaz::Menu() {
int opc;
cout<<" MENU "<<endl;
cout<<"---------------------"<<endl;
cout<<"1. Insertar"<<endl;
cout<<"2. Consultar "<<endl;
cout<<"3. Sumar "<<endl;
cout<<"4. Salir "<<endl;
cout<<"---------------------"<<endl;
cout<<endl;
cout<<"Digite la opcion que desea: ";
cin>>opc;
cout<<endl;
system("cls");
return opc;
}

void Interfaz::evaluaMenu() {
int opc= Menu();
switch(opc) {
case 1:
insertar();
break;
case 2:
//consultar();
//break;
case 3:
//sumaPolinomio();
//break;
case 4:
salir();
break;
}
}

void Interfaz::insertar(){
int c=0;
cout<<"--------------------INSERTAR POLINOMIO-------------------"<<endl;

cout<<"Digite la cantidad de monomios que hay en el primer polinomio: ";
cin>>n;

for(int i=0;i<n;i++){
cout<<endl;
cout<<"Digite el signo <+/-> y el coeficiente: ";
cin>>signo;
A.setSigno(signo);
cin>>coeficiente;
A.setCoeficiente(coeficiente);
cout<<"Digite la parte literal ('x', 'y', 'xy'): ";
cin>>parteLiteral;
A.setparteLiteral(parteLiteral);
cout<<"Digite el grado de la parte literal (Si no tiene digite 1): ";
cin>>grado;
A.setGrado(grado);
Monomio *m1=new Monomio(signo,coeficiente,parteLiteral,grado);
A.ordenaPolinomio(m1);
A.insertaElementos(m1);
A.imprimeElementos();
cout<<endl;

cout<<"El polinomio #1 es: (";
A.ordenaPolinomio(m1);
A.imprimeElementos();
cout<<")"<<endl<<endl;
}
/*
cout<<"Digite la cantidad de monomios que hay en el primer polinomio: ";
cin>>n;

for(int i=0;i<n;i++){
cout<<endl;
cout<<"Digite el signo <+/-> y el coeficiente: ";
cin>>signo;
B.setSigno(signo);
cin>>coeficiente;
B.setCoeficiente(coeficiente);
cout<<"Digite la parte literal ('x', 'y', 'xy'): ";
cin>>parteLiteral;
B.setparteLiteral(parteLiteral);
cout<<"Digite el grado de la parte literal (Si no tiene digite 1): ";
cin>>grado;
B.setGrado(grado);
Monomio *m2 = new Monomio(signo, coeficiente, parteLiteral, grado);
B.insertaElementos(m2);
B.sumaPolinomio(m2);
B.imprimeElementos();
cout<<endl;
}
c++;
cout<<"El polinomio #"<<c<<" es: (";
B.imprimeElementos();
cout<<")"<<endl<<endl;
system("pause");
cout<<"------------------------------------------------------------"<<endl;
system("cls");
regresar();*/
}

//void Interfaz::sumaPolinomio(){
//
//}

//void Interfaz::consultar(){
// C.imprimeElementos();
// cout<<endl;
// system("pause");
// system("cls");
// regresar();
//}


void Interfaz::regresar(){
evaluaMenu();
}

void Interfaz::salir(){
system("cls");
}


Interfaz::~Interfaz(){
}




« Última modificación: 20 Agosto 2015, 06:53 am por engel lex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines