Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Gerik en 11 Septiembre 2010, 05:54 am



Título: Urgebte problema con pila estatica :S
Publicado por: Gerik en 11 Septiembre 2010, 05:54 am
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
Código
  1. #include <iostream>
  2. #include <conio>
  3. #include <stdlib>
  4. #define tama1 10
  5. #define tama2 8
  6. #define tama3 6
  7. class Pila
  8.      {public:
  9.       int tope,y;
  10.       int pila1[tama1];
  11.       Pila(){tope=-1;
  12.              y=0;}
  13.       mostrar()
  14.          {for(int i=0;i<tama1;i++)
  15.                   {cout<<"\tPila1["<<i<<"]="<<pila1[i]<<endl;}}
  16.       insertar(int a)
  17.         {tope++;
  18.          if(tope==tama1)
  19.             {cout<<"\t\t\nPila llena "<<endl;
  20.              tope--;}
  21.          else {pila1[tope]=a;}
  22.          }
  23.       int sacar()
  24.           {if(tope==-1)
  25.            cout<<"\t\t\nPila Vacia ";
  26.            else{
  27.                 y=pila1[tope];
  28.                 pila1[tope]=0;
  29.                 tope--;
  30.                 return y;
  31.                 cout<<"\n\tElemento Eliminado "; }
  32.           }};
  33. class Pil
  34.      {public:
  35.       int tope2,z;
  36.       int pila2[tama2];
  37.       Pil(){tope2=-1;}
  38.        mostrar()
  39.          {for(int i=0; i<tama2;i++)
  40.                   {cout<<"\tPila2["<<i<<"]="<<pila2[i]<<endl;}}
  41.        insertar(int a)
  42.         {tope2++;
  43.          if(tope2==tama2)
  44.             {cout<<"\t\t\nPila llena "<<endl;
  45.              tope2--;}
  46.          else {pila2[tope2]=a;}
  47.          }
  48.        int sacar()
  49.           {if(tope2==-1)
  50.            cout<<"\t\t\nPila Vacia ";
  51.            else{z=pila2[tope2];
  52.                 pila2[tope2]=0;
  53.                 tope2--;
  54.                 return z;
  55.                 cout<<"\n\tElemento Eliminado "; }
  56.           }};
  57. class Pi
  58.      {public:
  59.       int tope3;
  60.       int pila3[tama3];
  61.       Pi(int z)
  62.           {tope3=-1;}
  63.        mostrar()
  64.          {for(int i=0; i<tama3;i++)
  65.                   {cout<<"\tPila3["<<i<<"]="<<pila3[i]<<endl;}}
  66.        insertar(int a)
  67.         {tope3++;
  68.          if(tope3==tama3)
  69.             {cout<<"\t\t\nPila llena "<<endl;
  70.              tope3--;}
  71.          else {pila3[tope3]=a;}
  72.          }
  73.        int sacar()
  74.           {if(tope3==-1)
  75.            cout<<"\t\t\nPila Vacia ";
  76.            else{pila3[tope3]=0;
  77.                 tope3--;
  78.                 cout<<"\n\tElemento Eliminado "; }
  79.           }};
  80. int main()
  81.      {int x=0;
  82.      Pila ob();
  83.      Pil o();
  84.      Pi obj();
  85.      cout<<"\n\nInsercion de Elementos a la Pila1\n";
  86.      randomize();
  87.      while(x<tama1)
  88.        {ob.insertar(random(10));
  89.         x++;}
  90.      ob.mostrar();
  91.      getch();
  92.      for(int i=0;i<tama2;i++)
  93.          {o.insertar(ob.sacar());}
  94.      o.mostrar();
  95.      for(int i=0;i<tama3;i++)
  96.          {obj.insertar(o.sacar());}
  97.      obj.mostrar();
  98.      getch();
  99.      return 0;
  100.      }

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


Título: Re: Urgebte problema con pila estatica :S
Publicado por: satu en 11 Septiembre 2010, 07:06 am
Hola

Mirando por encima he visto otro error. En la función "sacar" de la clase "Pila" tienes puesto
Código
  1. return y;
  2. cout<<"\n\tElemento Eliminado";
procura poner todas las sentencias delante del return si quieres que se ejecuten
Código
  1. cout<<"\n\tElemento Eliminado";
  2. 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


Título: Re: Urgebte problema con pila estatica :S
Publicado por: Gerik en 12 Septiembre 2010, 03:39 am
jejeje si no me habia dado cuenta jejeje pero igual ya compilado y funcionando Gracias


Título: Re: Urgebte problema con pila estatica :S
Publicado por: satu en 12 Septiembre 2010, 09:00 am
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