const int MAX=5; typedef int tcont[MAX]; typedef struct tpila { //cima datos1[0] tcont datos1; tcont datos2; tcont datos3; }; void iniciar_pila(tpila &p) { p.datos1[0]=0; } bool pila_llena(tpila p) { return p.datos1[0]==MAX*3-1; } bool pila_vacia(tpila p) { return p.datos1[0]==0; } void agregar_pila(tpila &p, int nuevo) { if (pila_llena(p)==true) cout << "PILA LLENA" << endl; else { p.datos1[0]++; //cima if(p.datos1[0]=MAX*2) //tercer cont aux=p.datos3[p.datos1[0]-MAX*2]; else if(p.datos1[0]>=MAX)//segundo cont aux=p.datos2[p.datos1[0]-MAX]; else //primer cont aux=p.datos1[p.datos1[0]]; p.datos1[0]--; } return aux; } int tope_pila(tpila p) { int aux; if (pila_vacia(p)==true) aux=-99999; else { if(p.datos1[0]>=MAX*2) //tercer cont aux=p.datos3[p.datos1[0]-MAX*2]; else if(p.datos1[0]>=MAX)//segundo cont aux=p.datos2[p.datos1[0]-MAX]; else //primer cont aux=p.datos1[p.datos1[0]]; } return aux; }