Guarda, io l'ho compilato facendo questa modifica (le parentesi nel'else):
Così non da errori, ma in realtà non cancella i nodi pari... tra l'altro non ho capito cosa vuoi fare nel else ifcodice:void lista::eliminapari(){ nodo *p, *del; int n=0; p=l; if (l==0) cout<<"La lista è vuota"; while(p!=0){ //Scorro la lista if (n%2==0 && n==0 ){ //Devo eliminare il primo elemento: del=p; p=p->succ; l=p; delete del; cout<<"0 elemento cancellato\n"; n++;} else if (n%2==0 && n!=0){ //Se n è pari del=p->succ; p->succ=p->succ->succ; delete del; //Elimino l'elemento cout<<n<<"elemento cancellato\n"; n++; } else { p=p->succ; //Passo all'elemento successivo n++; //Incremento n } }![]()

Rispondi quotando