Dev - C++ - AYUDA CON PILAS EN C++

 
Vista:
Imágen de perfil de Danny

AYUDA CON PILAS EN C++

Publicado por Danny (1 intervención) el 08/12/2013 18:31:41
HOLA SOY NUEVO EN ESTO DE PILAS Y COLAS EN ESTRUCTURA DE DATOS
Y PUES HIZE UN PROGRAMA QUE EN UNA PILA HAIGA PARES E IMPARES
AHORA NECESITO SEPARARLAS UNA PILA PARA PARES Y OTRA PARA IMPARES ESTE ES EL CODIGO QUE INTENTE PERO NO ME FUNCIONO.

#include <iostream>
using namespace std;
class nodo {
private:
int dato;
nodo *siguiente;
public:
void Insertar(int valor);
void Eliminar(void);
void Presentar();
void Buscar(int valor);
};
nodo *tope;
nodo *fondo;
void nodo::Insertar(int valor) {
nodo *nuevo;
nuevo = new nodo();
nuevo->siguiente = NULL;
nuevo->dato = valor;
if (fondo == NULL) {
tope = nuevo;
fondo = tope;
} else {
nuevo->siguiente = tope;
tope = nuevo;
}
}
void nodo::Eliminar(void) {
nodo *aux;
aux = tope;
if (aux == NULL)
cout << "No hay elementos " << endl;
else {
tope = tope->siguiente;
delete aux;
aux = tope;
}
}
void nodo::Presentar() {
nodo *aux;
aux = tope;
if (aux == NULL)
cout << "LNo hay elementos" <<endl;
else {
while (aux != NULL) {
cout << aux->dato << endl;
aux = aux->siguiente;
}
}
}
void nodo::Buscar(int valor) {
nodo *aux;
aux = tope;
if (aux == NULL)
cout << "La pila está vacía\n";
else {
while ((aux != NULL) && (aux->dato != valor))
aux = aux->siguiente;
if (aux == NULL)
cout << "EL elemento no existe\n";
else
cout << "El esta en la pila\n";
}
}
int par=0,impar=-1,multiplo=0, b=1,a=0,fibo=0, fact=1,acum=0;
int retorna_par(){
par=par+2;
return par;
}

int retorna_multiplo(){
multiplo=multiplo+3;
return multiplo;
}
int retorna_impar(){
impar=impar+2;
return impar;
}
int main() {
tope = NULL;
fondo = NULL;
nodo Pila;
nodo Pila2;
int a;
int elemento;
a = 1;
while (a != 0) {
do {
cout << "Menu Pila" << endl;
cout << "1 Insertar Elementos" << endl;
cout << "2 Eliminiar Elementos" << endl;
cout << "3 Presentar Elementos" << endl;
cout << "4 Buscar Elemento" << endl;
cout << "0 Salir" << endl;
cout << "Escoja una opción: " << endl;
cin >> a;
} while ((a < 0) && (a > 4));
switch (a) {
case 1:
Pila.Insertar(retorna_par());
Pila2.Insertar(retorna_impar());
break;
case 2:
Pila.Eliminar();
Pila2.Eliminar();
break;
case 3:
cout<<"PILA"<<endl;
Pila.Presentar();
cout<<"PIla2"<<endl;
Pila2.Presentar();
break;
case 4:
cout << "Que elemento desea buscar: " << endl;
cin >> elemento;
Pila.Buscar(elemento);
break;
}
}
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder