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.