salve, ho svolto queste procedure e funzioni
codice:int albPercorsi( int scacchiera[][N], nodoPasso& percorso){ int n=0; int i=0; int m=0; bool flag=true; //variabile per ciclio while((i<N*2)&&(flag)){ //metto N*2 trattandosi di matrice if ((scacchiera[n+1][m])==0){ inserisciNodoCoda('A', percorso); i++; } else if ((scacchiera[n][m+1])==0){ inserisciNodoCoda('B', percorso); i++; } else flag=false; } //fine while if (flag==true) return 1; else return 0; } // procedura stampa lista void stampalista(nodoPasso percorso){ if(percorso==NULL) return; else { cout<<percorso->info<<" "; return stampalista(percorso->next); } } // procedure liste, creazione ed inserimento void creaNodo(char info1, nodoPasso& temp){ temp=new Tpnodo; temp->info=info1; temp->next=NULL; } void inserisciNodoCoda(char info1, nodoPasso& percorso){ nodoPasso prec, curr; if (percorso=NULL) creaNodo(info1, percorso); else curr=percorso; prec=NULL; while(curr!=NULL){ prec=curr; curr=curr->next; creaNodo(info1, prec->next); } }
Allora il problema è che non viene creata la lista.
Ora la function principale fà un controllo sulla matrice, e in base al risultato inserisce la lettera A, o la lettera B nella lista.
la mia struct
codice:struct Tpnodo{ char info; Tpnodo *next; }; typedef Tpnodo* nodoPasso; nodoPasso percorso;
qualcuno sa aiutarmi o almeno dirmi perchè la lista non viene creata???
grazie.

Rispondi quotando