/* PROGRAMA: pila_memoria_estatica.cpp DESCRIPCIÓN: Implementando una pila con memoria estática AUTOR: FJHL ACTUALIZACIÓN: 28/ENE/2016 */ #include #include //Parametro #define MaxTam 4 void push(int pila[], int *tope, int x); int pop(int pila[], int *tope); int main(void){ printf("\nEjemplo de una pila usando memoria estática...\n"); int pila[MaxTam]; int tope = -1;//Pila Vacia push(pila, &tope, 10); push(pila, &tope, 20); push(pila, &tope, 50); push(pila, &tope, 100); push(pila, &tope, 200); printf("\nElemento %d: ", tope); printf("%d\n", pop(pila, &tope)); printf("\nElemento %d: ", tope); printf("%d\n", pop(pila, &tope)); printf("\nElemento %d: ", tope); printf("%d\n", pop(pila, &tope)); printf("\nElemento %d: ", tope); printf("%d\n", pop(pila, &tope)); printf("\nElemento %d: ", tope); printf("%d\n", pop(pila, &tope)); system("pause"); return(0); } void push(int pila[], int *tope, int x){ if (*tope == MaxTam - 1){ printf("\nLa Pila está llena..."); } else{ *tope = *tope + 1; pila[*tope] = x; } } int pop(int pila[], int *tope){ int x=-1; if (*tope == -1){ printf("\nLa Pila está vacía..."); } else{ x = pila[*tope]; *tope = *tope - 1; } return(x); }