Programa C para eliminar un elemento de la pila i

Cómo escribir un programa C para eliminar un elemento de la pila i en el lenguaje de programación C ?


Solución:

  1. /*  Eliminar un elemento de la pila i */
  2. void pop(stack *pila, int cantPilas, int i)
  3. {
  4.         int ele;
  5.         printf("\nIngrese el elemento entero a eliminar: ");
  6.         scanf("%d", &ele);
  7.         if(!isempty(pila, i))
  8.         {
  9.                 int pos = pila->base[i], valor_actual; 
  10.                
  11.                 // Encontrar la POS donde esta el elemento, si es que existe
  12.                 while(pos != pila->tope[i]+1)
  13.                 {
  14.                         valor_actual = pila->R[pos];
  15.                         if(valor_actual == ele)
  16.                         {
  17.                                 printf("Se econtro elemento en la pos: %d\n", pos);
  18.                                 system("pause");
  19.                                 break;
  20.                         }
  21.                         pos++;
  22.                 }
  23.                
  24.                 // Vaciar la pila[i] hasta la posicion para ser eliminado a un aux
  25.                 int k, aux[MAX];
  26.                 for(k=0; k< pos; k++)
  27.                 {
  28.                        
  29.                 }
  30.                
  31.                 // Pasar de el aux a la pila[i], sobreescribirlo de alguna forma la wea culia
  32.         }
  33.        
  34.         else
  35.                 printf("\nPILA VACIA\n");
  36.        
  37.         system("pause");
  38. }


Learn More :