+ 1
Como puedo hacer que la pila tenga un for para n números y no para 6
2 Réponses
0
#include<stdio.h>
#include<stdlib.h>
#define TAM_Pila 100
struct una_pila{
int tope;
int elementos [TAM_Pila]
};
int vacia (struct una_pila *ps)
{
if(ps->tope==-1)
{
return (1);
}
else
return(0);
}
int apilar (struct una_pila *apila, int x)
{
if (apila->tope== TAM_Pila -1)
{
printf("La pila esta llena ");
}
else
{
apila->elementos[++(apila->tope)]=x;
return 0;
}
}
int desapilar (struct una_pila *ps) // simpre se unsa la primera funcion
{
if (vacia (ps))
{
printf("La pila esta vasia, no se puede hacer otra operacion");
exit(1);
}
else
return(ps->elementos[ps->tope--]);
}
struct una_pila original;
struct una_pila aux;
int main ()
{
original.tope=-1;
aux.tope=-1;
apilar(&original,10);
apilar(&original,50);
apilar(&original,12);
apilar(&original,7);
apilar(&original,8);
apilar(&original,9);
apilar(&aux,desapilar(&original));
apilar(&aux,desa
0
apilar(&aux,desapilar(&original));
apilar(&aux,desapilar(&original));
apilar(&aux,desapilar(&original));
apilar(&aux,desapilar(&original));
apilar(&aux,desapilar(&original));
apilar(&aux,desapilar(&original));
printf("%i ",desapilar(&aux));
printf("%i ",desapilar(&aux));
printf("%i ",desapilar(&aux));
printf("%i ",desapilar(&aux));
printf("%i ",desapilar(&aux));
printf("%i ",desapilar(&aux));
}