ragazzi c'è quest'algoritmo sull'eliminazione degli zeri da una lista, al momento del compile nn mi da errori ma quando eseguo arrivato al punto in cui dovrebbe cancellare gli zeri mi da errore di windows, e nn da il contatore in output...qualcuno mi sa spiegare dov'è il problema ?
codice:
#include<conio.h>
#include<iostream>
using namespace std;
typedef struct list_pointer *nodo_lista;
struct list_pointer
{int info;
nodo_lista link;
};
int main()
{list_pointer *head,*new_node,*prev,*temp;
char scelta;
int cont=0;
head=new list_pointer;
cout<<"\n Inserisci elemento della testa ";
cin>>head->info;
head->link=NULL;
do
{new_node=new list_pointer;
new_node=new_node->link;
cout<<"\n Inserisci elemento ";
cin>>new_node->info;
new_node->link=NULL;
cout<<"\n Vuoi continuare (Y/N) ";
cin>>scelta;
}
while((scelta=='Y')||(scelta=='y'));
while(head->info==0)
{head=head->link;
}
new_node=head;
do
{temp=new_node->link;
if(temp->info==0)
{cont=cont+1;
new_node->link=temp->link;}
new_node=temp->link;
}
while(new_node!=NULL);
cout<<"\n\n ";
cout<<cont;
system("PAUSE");
return 0;
}