Código C:
Ver original
#include <stdio.h> #include <conio.h> int pila[7],pila2[7], tope = 0, cima = 6, valor; void insertar(); void mostrar(); void pares(); void mostrar2(); int main () { int i; for (i=1; i<=6; i++){ insertar(); mostrar(); } pares(); mostrar(); mostrar2(); } void insertar() { if (tope==cima) { } else { tope++; pila[tope] = valor; } } void mostrar() { int i; for (i=1;i<=6; i++) } void mostrar2() { int i; for (i=1;i<=6; i++) } void pares() { tope=0; cima=6; int i; for (i=1; i<=7; i++) { if(pila[cima]%2 == 0) { if(pila2[tope] == 6) { } else { pila2[tope] = pila[cima]; tope++; cima--; } } else { cima--; } } }
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.