Aca el codigo
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++){
printf("Introduzca su valor: "); 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) {
printf("Error, pila2 llena\n"); }
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.