lo tenia en estatica se me dio por hacerlo a memoria dinamica y grabe encima ahora no encuentro el error, si alguien lo ve por fa ayudaaa es urgenteeeeeee
#include <iostream>
#include <conio>
#include <stdlib>
#define tama1 10
#define tama2 8
#define tama3 6
class Pila
{public:
int tope,y;
int pila1[tama1];
Pila(){tope=-1;
y=0;}
mostrar()
{for(int i=0;i<tama1;i++)
{cout<<"\tPila1["<<i<<"]="<<pila1[i]<<endl;}}
insertar(int a)
{tope++;
if(tope==tama1)
{cout<<"\t\t\nPila llena "<<endl;
tope--;}
else {pila1[tope]=a;}
}
int sacar()
{if(tope==-1)
cout<<"\t\t\nPila Vacia ";
else{
y=pila1[tope];
pila1[tope]=0;
tope--;
return y;
cout<<"\n\tElemento Eliminado "; }
}};
class Pil
{public:
int tope2,z;
int pila2[tama2];
Pil(){tope2=-1;}
mostrar()
{for(int i=0; i<tama2;i++)
{cout<<"\tPila2["<<i<<"]="<<pila2[i]<<endl;}}
insertar(int a)
{tope2++;
if(tope2==tama2)
{cout<<"\t\t\nPila llena "<<endl;
tope2--;}
else {pila2[tope2]=a;}
}
int sacar()
{if(tope2==-1)
cout<<"\t\t\nPila Vacia ";
else{z=pila2[tope2];
pila2[tope2]=0;
tope2--;
return z;
cout<<"\n\tElemento Eliminado "; }
}};
class Pi
{public:
int tope3;
int pila3[tama3];
Pi(int z)
{tope3=-1;}
mostrar()
{for(int i=0; i<tama3;i++)
{cout<<"\tPila3["<<i<<"]="<<pila3[i]<<endl;}}
insertar(int a)
{tope3++;
if(tope3==tama3)
{cout<<"\t\t\nPila llena "<<endl;
tope3--;}
else {pila3[tope3]=a;}
}
int sacar()
{if(tope3==-1)
cout<<"\t\t\nPila Vacia ";
else{pila3[tope3]=0;
tope3--;
cout<<"\n\tElemento Eliminado "; }
}};
int main()
{int x=0;
Pila ob();
Pil o();
Pi obj();
cout<<"\n\nInsercion de Elementos a la Pila1\n";
randomize();
while(x<tama1)
{ob.insertar(random(10));
x++;}
ob.mostrar();
getch();
for(int i=0;i<tama2;i++)
{o.insertar(ob.sacar());}
o.mostrar();
for(int i=0;i<tama3;i++)
{obj.insertar(o.sacar());}
obj.mostrar();
getch();
return 0;
}
EI: juntando mensajes.
ya lo encontre jejeje el rpoblema eran los parentesis en los objetos del amin y el objeto de pi recibia parametro pero ya
Hola
Mirando por encima he visto otro error. En la función "sacar" de la clase "Pila" tienes puesto
return y;
cout<<"\n\tElemento Eliminado";
procura poner todas las sentencias delante del return si quieres que se ejecuten
cout<<"\n\tElemento Eliminado";
return y;
porque después del return sale de la función. Ahora mismo no estoy en condiciones de ver todo el código, luego si me acuerdo le echo un ojo.
Saludos
jejeje si no me habia dado cuenta jejeje pero igual ya compilado y funcionando Gracias
Hola
El problema es ese, que compila y funciona bien, pero esas sentencias no se ejecutan, es un fallo de novato jejeje, ten más ojo la próxima vez ;)
Saludos