che stupido... ho trovato l'errore da solo... posto il codice correto:
codice:#include<iostream> #include<cstring> #include<cstdlib> using namespace std; struct nodo{ char tel[10]; char cognome[10]; char nome[10]; nodo *sin,*des; }; void inserisci (nodo *root, nodo *pn); void stampa(nodo *root); void main(){ nodo *testa = NULL, *temp = testa; int i,n; system("CLS"); cout<<"Digita quanti amici vuoi inserire nella tua rubrica: "; cin>>n; for(i=0;i<n;i++){ temp = new nodo; cout<<"Digita il cognome del tuo amico: "; cin>>temp->cognome; cout<<"Digita il nome del tuo amico: "; cin>>temp->nome; cout<<"Digita il numero del tuo amico: "; cin>>temp->tel; cout<<endl; temp->sin=NULL; temp->des=NULL; if(i!=0) inserisci(testa,temp); else testa= temp; } stampa(testa); delete testa; system("PAUSE"); } void inserisci (nodo *root,nodo *pn){ if (strcmp (root->cognome,pn->cognome)>=0) if (root->sin==NULL) root->sin=pn; else inserisci(root->sin,pn); else if (root->des==NULL) root->des=pn; else inserisci(root->des,pn); } void stampa(nodo *root){ if(root!=NULL){ cout<<root->cognome; stampa(root->sin); stampa(root->des); } }
Non allocavo la memoria... sistemato tutto
grazie


Rispondi quotando