Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354

    [c++] Problema con la creazione di una lista

    Il professore ci ha dato delle funziononi tipo, di esempio che dobbiamo usare per gestire le liste. Il problema è che la funzionzione che dovrebbe leggere una stringa da tastiera si blocca e non capisco proprio perchè!

    la funzione è questa:

    codice:
    pnodo leggi(){
       int x;
       pnodo testa,ultimo;
       int n,i;
       cout << "Inserire il numero di elementi: ";
       cin >> n;
       if(n==0) return 0;
       for(i=0;i<n;i++){
          cout << "Inserire il "<< i+1 <<" elemento: ";
          cin >> x;
          if(i==0){
             testa=cons(x,0);
             ultimo=testa;
          }else{
             pnodo nuovo=cons(x,0);
             ultimo->next=nuovo;
             ultimo=nuovo;
          }
       }
       return testa;
    legge un una sequenza di numeri e la mette in una lista pnodo.

    La lista pnodo è fatta cosi:
    codice:
    struct nodo{
           int key;
           nodo* next;};
    typedef nodo* pnodo;
    nella funzione leggi() viene chiamata un altra funzione per la creazione di una lista:
    (gli viene passato 0 come secondo parametro per crearla vuota di un solo elemento, senno l'ind precedente)

    codice:
    pnodo cons(int x, pnodo testa){
       pnodo nuovo=new nodo;
       nuovo->key=x;
       nuovo->next=testa;
    }

  2. #2
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150

    Re: [c++] Problema con la creazione di una lista

    Originariamente inviato da unit1
    codice:
    pnodo cons(int x, pnodo testa){
       pnodo nuovo=new nodo;
       nuovo->key=x;
       nuovo->next=testa;
    }
    Ciao... questa funzione deve ritornare un nodo* o pnodo e invece non ritorna niente. Devi aggiungere la riga in rosso:
    codice:
    pnodo cons(int x, pnodo testa){
       pnodo nuovo=new nodo;
       nuovo->key=x;
       nuovo->next=testa;
       return nuovo;
    }
    Crestron Control Systems and AMX Control Systems Programmer

  3. #3
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    hem.. non lo avevo visto!

    Grazie, adesso funziona perfettamente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.