Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con pilas

Estas en el tema de Ayuda con pilas en el foro de C/C++ en Foros del Web. Aca el codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original #include <stdio.h> #include <conio.h>       int pila [ 7 ] , pila2 [ 7 ...
  #1 (permalink)  
Antiguo 12/10/2010, 20:46
Avatar de Mercality  
Fecha de Ingreso: junio-2010
Mensajes: 19
Antigüedad: 12 años, 2 meses
Puntos: 0
Ayuda con pilas

Aca el codigo
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4.    int pila[7],pila2[7], tope = 0, cima = 6, valor;
  5.    void insertar();
  6.    void mostrar();
  7.    void pares();
  8.    void mostrar2();
  9.    
  10.    
  11.    
  12.    int main () {
  13.         int i;
  14.         for (i=1; i<=6; i++){
  15.         printf("Introduzca su valor: ");
  16.         scanf("%d",&valor);
  17.         insertar();
  18.         mostrar();
  19.        
  20.         printf("\n");
  21.         }
  22.         pares();
  23.         mostrar();
  24.         mostrar2();
  25.         getch();
  26. }
  27.        
  28.        
  29.        
  30.         void insertar() {
  31.              if (tope==cima) {
  32.                              printf("Pila llena");
  33.                              getch();
  34.                              }
  35.              else {
  36.                   tope++;
  37.                   pila[tope] = valor;
  38.                   }
  39.         }
  40.        
  41.         void mostrar() {
  42.              int i;
  43.              for (i=1;i<=6; i++)
  44.              printf("%d\n", pila[i]);
  45.              }
  46.              
  47.              void mostrar2() {
  48.              int i;
  49.              printf("\n");
  50.              for (i=1;i<=6; i++)
  51.              printf("%d\n", pila2[i]);
  52.              }
  53.              
  54.         void pares() {
  55.              tope=0;
  56.              cima=6;
  57.              int i;
  58.              for (i=1; i<=7; i++) {
  59.              
  60.               if(pila[cima]%2 == 0) {
  61.                               if(pila2[tope] == 6) {
  62.                                              printf("Error, pila2 llena\n");
  63.                                              }
  64.                                              else {
  65.                                                   pila2[tope] = pila[cima];
  66.                                                   tope++;
  67.                                                   cima--;
  68.                                                   }
  69.                               }
  70.                                         else {
  71.                                              cima--;
  72.                                              }
  73.                         }  
  74.                         }


El problema es el siguiente

Tengo aca una pila sencilla a la cual inserto valores hasta que llegue a la cima y luego los muestra, hasta ahí todo bien. Tambien debo crear una funcion que me elimine los numeros pares de la pila, aquí esta bien a medias...

Logro meter en la pila dos los numeros pares, pero cuando la cima de la pila primaria es par, ese no logro meterlo en la pila2, y tampoco se dejar la pila primaria con unicamente los numeros impares. Ya que efectivamente saco los pares a la pila2 pero se quedan tambien en la pila1, Es muy confuso para mi ya que apenas estoy aprendiendo sobre pilas. Podrian ayudarme de alguna forma?

Gracias de antemano.

Etiquetas: pilas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:34.