Cómo escribir un programa C para eliminar un elemento de la pila i en el lenguaje de programación C ?
Solución:
- /* Eliminar un elemento de la pila i */
- void pop(stack *pila, int cantPilas, int i)
- {
- int ele;
- printf("\nIngrese el elemento entero a eliminar: ");
- scanf("%d", &ele);
- if(!isempty(pila, i))
- {
- int pos = pila->base[i], valor_actual;
- // Encontrar la POS donde esta el elemento, si es que existe
- while(pos != pila->tope[i]+1)
- {
- valor_actual = pila->R[pos];
- if(valor_actual == ele)
- {
- printf("Se econtro elemento en la pos: %d\n", pos);
- system("pause");
- break;
- }
- pos++;
- }
- // Vaciar la pila[i] hasta la posicion para ser eliminado a un aux
- int k, aux[MAX];
- for(k=0; k< pos; k++)
- {
- }
- // Pasar de el aux a la pila[i], sobreescribirlo de alguna forma la wea culia
- }
- else
- printf("\nPILA VACIA\n");
- system("pause");
- }