06/02/12 18:51
Fe10
Buonasera,
sto studiando il c++ alle superiori e in particolare le liste statiche e dinamiche(coda e pila). Mi è stato assegnato il compito di scrivere una funzione che permetta di visualizzare tutti gli elementi presenti in uno stack dinamico. Visto che abbiamo studiato anche le funzioni ricorsive, mi è stato suggerito di richiamare un'altra funzione che sia ricorsiva a se stessa del tipo:
Visto che nella funzione di visualizzazione di uno stack dinamico è presente un'iterazione e una funzione ricorsiva può sostituire l'iterazione ho pensato a queste due funzioni:
Quando vado a compilare il progetto non ci sono errori di compilazione, ma quando vado a richiamare la funzione di visualizzazione, la visualizzazione va a buon fine, cioè riesco a visualizzare tutti gli elementi che ho inserito precedentemente, ma il compilatore crasha.
Dov'è il problema?
Grazie,
Fe10.
sto studiando il c++ alle superiori e in particolare le liste statiche e dinamiche(coda e pila). Mi è stato assegnato il compito di scrivere una funzione che permetta di visualizzare tutti gli elementi presenti in uno stack dinamico. Visto che abbiamo studiato anche le funzioni ricorsive, mi è stato suggerito di richiamare un'altra funzione che sia ricorsiva a se stessa del tipo:
void f1 (stack s) { ........ f2(s.testa) /*ricorsiva a se stessa*/ ..... }
Visto che nella funzione di visualizzazione di uno stack dinamico è presente un'iterazione e una funzione ricorsiva può sostituire l'iterazione ho pensato a queste due funzioni:
bool visstack (stack s) { bool ris=false; nodo *n; n=s.testa; if(!(stackvuoto(s))) { ris=true; f1_ricorsiva (s.testa); } return ris; }
void f1_ricorsiva (nodo *p) { bool ris=false; if((p->next!=NULL)||(ris=true)) { ris=true; viselemento (p->info); f1_ricorsiva (p->next); } return; }
Quando vado a compilare il progetto non ci sono errori di compilazione, ma quando vado a richiamare la funzione di visualizzazione, la visualizzazione va a buon fine, cioè riesco a visualizzare tutti gli elementi che ho inserito precedentemente, ma il compilatore crasha.
Dov'è il problema?
Grazie,
Fe10.
Ultima modifica effettuata da Fe10 06/02/12 21:06
aaa