Problema con liste

di il
1 risposte

Problema con liste

Ciao a tutti...
vi rompo per due volte in poco tempo...
stavo cercando di fare un programma che registri una sequenza di numeri chiusa da 0 e poi li stampi...
questo è quello che mi è uscito fuori:
#include <iostream>
using namespace std;
int main()
{
    typedef struct nodo
    {
            int info;
            struct nodo *succ;
    }lista;

    lista *p, *q, *u=NULL; //p=penultimo - q=ultimo - u=primo
    int info;
    
    /* INSERIMENTO DATI */
    cout<<"Inserire il dato: ";
    cin>>info;
    while (info!=0)
    {
             q=new lista;
             if (q!=NULL)
             {
                         if (u==NULL)
                                     u=p;
                         else
                                     p->succ=q;
                         q->info=info;
                         p=q;
                         cout<<"Inserire il dato: ";
                         cin>>info;
             }
    }
    q->succ=NULL;
    
    /* STAMPA DATI */
    cout<<"La sequenza inserita è:";
    q=u;
    while (q->succ!=NULL)
    {
          cout<<endl<<q->info;
          if (q->succ!=NULL)
                            q=q->succ;
    }          
    system("PAUSE");
    return 0;
}
il problema è che dopo aver inserito questi X numeri, mi stampa:
La sequenza inserita è:
[valore sporco]
e poi l'esecuzione si interrompe con la classica finestra "lista.exe ha smesso di funzionare"...

qualcuno può aiutarmi?

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte