si no pues solo poner que esta correcto.
pero me marca error, y la verdad no se porque
si alguien me pudiera ayudar y/o asesorar porfavor, gracias
Código
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> using namespace std; class nodo{ private: nodo *siguiente; char parentesis; public: nodo(char p, nodo *s=NULL){parentesis=p; siguiente=s;} nodo* regresaSiguiente(void); //{return siguiente;} char regresaParentesis(void); void modificaParentesis(char); void modificaSiguiente(nodo*); }; nodo* nodo::regresaSiguiente(void) { return siguiente; } char nodo::regresaParentesis(void) { return parentesis; } void nodo::modificaParentesis(char p) { parentesis=p; } void nodo::modificaSiguiente(nodo* s){ siguiente=s; } ////////////////////////////////////FIN DE LA CLASE NODO/////////////////////////////////////// class Pila { private: nodo*tope; public: Pila(){tope=NULL;} void Push(char); char Pop(void); char Tope(void) {return tope-> regresaParentesis();} char PilaVacia() {return tope == NULL;} }; void Pila::Push(char p) { } char Pila::Pop(void) { char p; nodo*aux; delete(aux); return p; if(!PilaVacia()); } class Cola { private: nodo*cabeza; nodo*extremo; public: Cola(){cabeza=extremo=NULL;} void Suma(char); char Elimina(void); int colaVacia(void){return cabeza==NULL;} //~ Cola(); }; void Cola::Suma(char p) { if(!extremo) { //extremo=cabeza; } else{ nodo*aux; extremo-> modificaSiguiente(aux); extremo=extremo -> regresaSiguiente(); } } char Cola::Elimina(void) { char p=-1; if(!colaVacia()) { nodo*aux=cabeza; cabeza=cabeza->regresaSiguiente(); p=aux->regresaParentesis(); delete(aux); } return p; } int main() { char caracter[10]; int i; char c; Cola obj; Pila p; cout<<"escribe la funcion: "<< endl; cin.getline(caracter,10); while( caracter[i] != '\0') { obj.Suma(caracter[i]); } while(!obj.colaVacia()) { c=obj.Elimina(); if(c=='(') { p.Push(c); } else if(c==')') { p.Pop(c); } } if(!p.PilaVacia()) { cout<<"Falta un parentesis "<<endl; } if(p.PilaVacia()) { cout<<"Todo esta bien"<<endl; } return 0; }