ho risolto cosi va bene? dal main chiamo stampa_in_ordine.
Codice PHP:
void stampa_in_ordine(stack *stk)
{
stampa_pari(stk);
stampa(stk);
}
void stampa_pari(stack *stk)
{
if(IsEmpty(stk)) return;
{
int y=pop(stk);
stampa_pari(stk);
if (y%2==0) printf("%d ",y);
else push(stk,y);
}
}
void stampa(stack* stk)
{
if(stk->cnt==0) return;
else
{
int tmp=pop(stk);
stampa(stk);
printf("%d ",tmp);
push(stk,tmp);
}
}
c'è un modo un po piu "compatto" per fare un programma del genere? magari usando una sola funzione. L'ideale sarebbe ordinare i valori nello stack come vuole l'esercizio e poi stamparli normalmente.