Inizializzazione Array

di il
6 risposte

Inizializzazione Array

Mi viene chiesto:

Inizializzare ognuno dei cinque elementi di un array intero g con singolo indice a 8.

Ed io ho risposto:
int g[5]={8}


Mentre il testo risponde con un ciclo for, cioè ecco qui:
c) for (unsigned int loop = 0; loop <= 4; ++loop) {
g[loop] = 8;
}


Ma la mia risposta è corretta?

6 Risposte

  • Re: Inizializzazione Array

    Sì, ma con la for lo puoi fare in qualsiasi parte del programma, anche più volte.

    EDIT: solo per {0} non per {8}
  • Re: Inizializzazione Array

    Ok, perfetto allora!
    Mi stavano venendo i dubbi...
    Ed in effetti ho visto che con un ciclo for si può copiare un array da una determinata posizione in un altro array in un altra posizione.....
    Insomma, con il ciclo for si riescono a fare un bel po di cose!
  • Re: Inizializzazione Array

    I cicli for servono SOLO a ripetere delle operazioni.
  • Re: Inizializzazione Array

    ATTENZIONE!

    MT09_full ha scritto:


    Mi viene chiesto:

    Inizializzare ognuno dei cinque elementi di un array intero g con singolo indice a 8.

    Ed io ho risposto:
    int g[5]={8}


    Mentre il testo risponde con un ciclo for, cioè ecco qui:
    c) for (unsigned int loop = 0; loop <= 4; ++loop) {
    g[loop] = 8;
    }


    Ma la mia risposta è corretta?
    NO: le due operazioni NON SONO equivalenti.
    La tua soluzione NON FA quello che e' richiesto.
    PROVA!
  • Re: Inizializzazione Array

    Giusto, è vero, quella scrittura vale solo per 0, ovvero

    int g[5] = { 0 };

    per inizializzare tutti gli elementi a 0 ma per valori diversi allora devi indicare

    int g[5] = { 8, 8, 8, 8, 8 };

    Ovviamente per array molto lunghi è d'obbligo la for.
  • Re: Inizializzazione Array

    MT09_full ha scritto:


    Ma la mia risposta è corretta?
    Scusa, ma perché non provi tu stesso compilatore alla mano?
    Inoltre si tratta di questioni di sintassi, quindi c'è poco da ragionare e da tirare ad indovinare... o lo si sa o lo si cerca/chiede esplicitamente.
Devi accedere o registrarti per scrivere nel forum
6 risposte