Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/09/2013, 19:56
eke_ps
 
Fecha de Ingreso: septiembre-2010
Mensajes: 101
Antigüedad: 13 años, 7 meses
Puntos: 0
problema con punteros en c++

tengo mi main

Código C:
Ver original
  1. int main (void){
  2.     int  dato;       /* elemento a ingresar en la pila               */
  3.     int  pila [TAM]; /* vector donde se almacena los elem.de la pila */
  4.     int *tope=pila+TAM;  /* dir. del próximo elem. a ingresar en la pila */
  5.     /* Carga la pila hasta que se llene o ingrese un cero */
  6.    
  7.     printf("ingrese un número distinto a 0: ");
  8.     scanf("%d",&dato);
  9.     while(dato!=0 && !pilallena(tope, pila)){
  10.         apilar(dato,tope);
  11.         printf("ingrese un número distinto a 0: ");
  12.        
  13.         scanf("%d",&dato);
  14.  
  15.        
  16.     }
  17.  
  18. }




el problema esta en la condicion del main
no puedo modifciarlo al programa, solo tuve que sacar las variables globles

el error esta en pila llena
que aca la dejo
Código C:
Ver original
  1. int pilallena(int *tope , int pila[]){
  2.    
  3.  
  4.     return(tope==pila)?1:0;
  5. }


ese return siempre me trae 0 y no entiendo porque si las direcciones de memoria son iguales

le muestro apilar por las dudas

Código C:
Ver original
  1. void apilar(int dat, int *tope){   
  2.     tope--;
  3.     *tope=dat;
  4. }