Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    [C++]Aiuto per contare elementi contenuti in un array!

    Ciao a tutti...vi chiedevo un aiuto per quanto riguarda gli array...infatti, in un programma che sto sviluppando, ho creato varie classi con campi private e public...nel campo private ho messo solamente un array con una determinata dimensione...mi è stato consigliato però di inserire anche un campo int che sarebbe il numero effettivo di elementi nell'array...esso servirebbe nelle varie funzioni di lettura e di nuove immissioni di elementi nell'array,infatti come può fare se no a capire dove deve inserire il nuovo elemento?!...però non so come fare per far capire che è il numero di elementi...e poi come devo impostare i costruttori?...grazie mille per il vostro aiuto...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Detta cosi' la cosa non e' molto chiara ...

    Specifica meglio il problema magari aiutandoti con del codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    ad esempio:
    codice:
    class collezione_studenti
    {
        private:
               int num_stud;
               studente coll_stud[dim_stud];
    mi han detto di fare così...num_stud dovrebbe essere il numero effettivo di elementi nell'array coll_stud...ciò dovrebbe facilitarmi in varie funzioni...però messo così è solo un numero intero..come faccio a fargli capire che è realmente il numero effettivo di elementi?
    non so neanche come fare ad impostare i costruttori..ora ho fatto così...
    codice:
    collezione_studenti()
               {
                   num_stud=0;
                   for(int i=0;i<dim_stud;i++)
                     coll_stud[i]=studente();
               }
               collezione_studenti(studente coll_stud[dim_stud])
               {
                   int MATRICOLA,ANNO_CORSO;
                   string NOME,COGNOME,INDIRIZZO,FACOLTA,EMAIL;
                   DATA DATA_DI_NASCITA;
                   for(int i=0;i<dim_stud;i++)
                     coll_stud[i]=studente(MATRICOLA, ANNO_CORSO, NOME, COGNOME, INDIRIZZO, DATA_DI_NASCITA, FACOLTA, EMAIL);
                   int NUM_S=0;
                     int i=0;
                     while(i<dim_stud)
                     {
                         if(coll_stud[i].get_nome()!="") NUM_S++;
                         i++;
                     }
                     num_stud=NUM_S;
               }
    però penso sia sbagliato...

  4. #4
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Ciao...Da quello che ho capito dal codice ti posso dire che :
    1) il ciclo nel costruttore di collezione_studenti è inutile visto che il costruttore di default per ogni elemento di coll_stud viene richiamato automaticamente
    2)Non ho ben capito il senso di collezione_studenti(studente coll_stud[dim_stud])
    Se potresti farmi capire il senso di questo costruttore ti potrei dare una mano

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    collezione_studenti è una classe e vabbè... ma "studente" che roba è? Un'altra classe? Come l'hai detinita? Magari spiega un po' meglio cosa intendi fare... io francamente non ho capito nulla
    every day above ground is a good one

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    studente è un'altra classe...
    questo è il costruttore senza parametri di tale classe:
    codice:
    studente()
               {
                   matricola=0;
                   facolta="";
                   anno_corso=0;
                   email="";
               }
    mentre questo è il costruttore con tutti i parametri...
    codice:
    studente(int m, int a, string n,string c,string i,DATA d,string f,string e):persona(n,c,d,i)
               {
                   if(m<0)throw 1;
                   if(a<0 || a>3)throw 4;
                   matricola=m;
                   facolta=f;
                   anno_corso=a;
                   email=e;
               }
    persona è la classe base di studente e questo è il costruttore al quale si riallaccia quello prec
    codice:
    persona(string n,string c,DATA d,string i)
               {
                   nome=n;
                   cognome=c;
                   if(d.giorno>31 || d.giorno<1 || d.mese>12 || d.mese<1 || d.anno<1)throw 0;
                   data_di_nascita.giorno=d.giorno;
                   data_di_nascita.mese=d.mese;
                   data_di_nascita.anno=d.anno;
                   indirizzo=i;
               }

  7. #7
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Quello che non ho capito è che dovrebbe fare il costruttore di collezione_studenti con argomento un array di studente . . . Da quello che ho letto hai riempito l' array col_stud con valori non inizializzati (non si dovrebbe mai fare), e poi verificato il numero di elementi non vuoti nell' array passato come parametro (non capisco il motivo di NUM_S. . . Basta modificare num_col). . . Non penso che tu voglia fare ciò quindi precisa che deve fare il costruttore di collezione_studenti con argomento

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    è anche lì il problema..perchè non sapevo come fare il costruttore con parametri di tale classe...

  9. #9
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Ripeto : che deve fare il costruttore di coll_studente con argomento studente[] ??? Spiegalo in parole povere e chiare

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.