Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C++] Problemi Struct

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    [C++] Problemi Struct

    Ciao ragazzi: non fatevi impressionare dalla grandezza il codice è molto semplice:

    Quando stampo non capisco perchè il primo valore stampato è 99 anche se io avevo scritto che era uguale a 0....

    Codice PHP:

    const int NumeroOre 4NumeroGiorni 5NumeroCorso 0MaxProfPerCorso 4;

    struct S_Professori{
      
                      
    struct TotaleProfessori{int Professore[MaxProfPerCorso];
                                               
                        
                                              }
                                              
    Disponibili [NumeroOre][NumeroGiorni][NumeroCorso];
                                              
                                              
                      
    struct TotaleProfessore{int Professore[MaxProfPerCorso];
                                               
                        
                                              }
                                                                    
                                              
    Eccezzioni  [NumeroOre][NumeroGiorni][NumeroCorso],
                                              
    Preferenze  [NumeroOre][NumeroGiorni][NumeroCorso],
                                              
    Obblighi    [NumeroOre][NumeroGiorni][NumeroCorso],
                                              
    TestFalliti [NumeroOre][NumeroGiorni][NumeroCorso], 
                                              
    GiornoLibero[NumeroOre][NumeroGiorni][NumeroCorso]; 
                       
                       }
    Ore60;

    S_Professori Intersezione (intintint);


    int main(int argcchar *argv[])
    {
    Ore60.Disponibili[3][6][5].Professore[0] = 1;
    Ore60.Disponibili[3][6][5].Professore[1] = 2;
    Ore60.Disponibili[3][6][5].Professore[2] = 3;
      
    Ore60.Eccezzioni [3][6][5].Professore[0] = 99

      
    //Intersezione(3,6,5);

    cout << Ore60.Disponibili[3][6][5].Professore[0] << endl;
    cout << Ore60.Disponibili[3][6][5].Professore[1] << endl;
    cout << Ore60.Disponibili[3][6][5].Professore[2] << endl;
    cout << Ore60.Eccezzioni[3][6][5].Professore[0] << endl;

    system("PAUSE");
    return 
    0;


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    1) non ho capito il problema

    2) questo valore

    NumeroCorso = 0

    non ha senso

    3) Eccezioni si scrive con una sola z ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    quel valore

    Allora: il valore 0 ha senso perchè in seguito diventerà un cifra dopo il 15.
    Comunque perchè mi stampa

    Ore60.Disponibili[3][6][5].Professore[0] = 99

    quando avevo scritto

    Codice PHP:
    Ore60.Disponibili[3][6][5].Professore[0] = 1

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: quel valore

    Originariamente inviato da kirakira93
    Allora: il valore 0 ha senso perchè in seguito diventerà un cifra dopo il 15.
    Eh? Non ho capito ...

    Il valore 0 non ha senso perchè una dimensione non può avere 0 elementi ... e infatti il compilatore "non compila" ... non capisco come faccia il tuo a farlo ...

    Comunque perchè mi stampa

    Ore60.Disponibili[3][6][5].Professore[0] = 99

    quando avevo scritto

    Codice PHP:
    Ore60.Disponibili[3][6][5].Professore[0] = 1
    A me fornisce i valori corretti ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Forse!

    Forse è propio quello 0 che manda in balla il compilatore
    Però non capisco: se io cambio il valore di
    Ore60.Disponibili[3][6][5].Professore[2]

    è normale che assegni lo stesso valore a tutti gli altri?
    Cioè a
    Ore60.Eccezzioni [3][6][5].Professore[0]
    Ore60.Obblighi [3][6][5].Professore[0]
    Ore60.TestFalliti [3][6][5].Professore[0]
    Ore60.GiornoLibero [3][6][5].Professore[0]


    !!!!!

    Adesso che guardo il codice mi viene da pensare e se il compilatore facesse questo perchè io accedo al campo 5 del terzo vettore quando ci sono solo 1 posto [0]
    Avevi ragione NON HA SENSO!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: Forse!

    Originariamente inviato da kirakira93
    Avevi ragione NON HA SENSO!
    Ti ripeto ... 0 non ha senso ... Devi indicare un valore maggiore di 0 per dimensionare la tua matrice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    ok

    Grazie oregon... sei una bestia, ora va tutto cambiando lo zero in 1!

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.