Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390

    array dinamico di puntatori a record

    allora

    posto l'header file di una classe

    codice:
    struct Studente{
           string nome;
           string cognome;
           string matricola;
           };
           
    typedef Studente * Sp;
    
    class ElencoPrenotati{
          private:
                  Sp elenco;
                  int N;
                  int cont;
          
          public:
                 ElencoPrenotati (int N) {elenco= new Studente [N]; cont=0;};
                 ~ElencoPrenotati(){delete [] elenco;}
                 bool insert (Studente e);
                 void ordina();
                 void stampa();
                 };
    con l'implementazione di ordina di questo tipo

    codice:
    void ElencoPrenotati::ordina(){
         string temp;
         for (int i=0;i<cont;i++){
             for(int j=i; j<cont;j++)
                     if (elenco[j]->cognome>elenco[j+1]->cognome){
                                                temp=elenco[j]->cognome;
                                                elenco[j]->cognome=elenco[j+1]->cognome;
                                                elenco[j+1]->cognome=temp;
                                                }
                                                }
                                                }
    perchè se utilizzo l'operatore -> ho errore ma se uso il . il programma compila e esegue correttamente???
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

  2. #2
    perchè elenco è un array e quindi se fai elenco[i] accedi all'oggetto i-esimo e quindi i membri li accedi con ., se invece fai (elenco + i) accedi al puntatore all'oggetto i-esimo e quindi i membri li devi dereferenziare con ->.


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390
    1 altra cosa e poi basta

    nell'ordinamento col bubble sort (modificato xkè avevo sbagliato a inizializzare l'indice j...invece ke da 0 da i) perdo sempre l'ultimo elemento inserito con la funzione

    codice:
    bool ElencoPrenotati::insert (Studente e){
         elenco[cont]=e;
         cont++;}
    ke sbaglio??
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

  4. #4
    Sinceramente con so :master: non mi ricordo più nulla sul bubble sort.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.