[C++] Non mi stampa questa lista
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 5 di 5

Discussione: [C++] Non mi stampa questa lista

Cambio titolo
  1. #1
    Utente L'avatar di lefantome
    Registrato il
    04-04
    Località
    vengo dalla luna
    Messaggi
    23.425

    [C++] Non mi stampa questa lista

    Codice:
    #include<fstream>
    #include<cstdlib>
    #include<iostream>
    
    using namespace std;
    
    struct elem{char* nome; int cont; elem* pun;};
    
    elem* crealista(int n)
    {
         elem* p0=0;
         elem* p;
         return p0;
         }
    
    void instesta(elem* p0,char* a)
    {
         elem* p;
         p=new elem;
         p->nome=a;
         p->cont=1;
         p->pun=p0;
         p0=p;
         
         }
    
    void stampalista(elem* p0)
    {
    elem* p = p0;
    while (p != 0)
    {
    cout << p->nome << ' '<<p->cont<<" ";
    p = p->pun;
    }
    }
         
             
    
    int main()
    
    { elem* p0 = crealista(3); 
      instesta(p0,"antani");
      instesta(p0,"blinda");
      instesta(p0,"lol");
      stampalista(p0);
      system("pause");
      return 0;
    
    
    }

    cosa può essere?


    inoltre mi spiegate l'tilità dei puntatori a puntatori?

  2. #2
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    i puntatori a puntatori servono proprio per gestire le situazioni come fai tu. il programma non funziona perch&#233; nella funzione di inserimento il puntatore &#232; passato per valore e quindi il suo aggiornamento non sar&#224; visibile nel main (e nelle funzioni successive). ci sono 2 soluzioni:
    1) usi i puntatori a puntatori nelle funzioni di inserimento e stampa
    2) la funzione di inserimento deve restituire il puntatore p0 aggiornato

    la seconda &#232; pi&#249; elegante

    p.s.
    crealista &#232; inutile cos&#236; com'&#232; scritta

  3. #3
    Utente L'avatar di lefantome
    Registrato il
    04-04
    Località
    vengo dalla luna
    Messaggi
    23.425
    e come dovrei fare con crealista?so che &#232; abbastanz ainutile ma dichiaro un elem* p0 nel main e basta?

  4. #4
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    ti basta un elem* p0 = 0;

  5. #5
    Utente L'avatar di ndakota
    Registrato il
    07-06
    Località
    Milano
    Messaggi
    3.253
    ma dell'intero che passi a crealista che te ne fai? non mi sembra lo usi..

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •