GLI ARRAY MONODIMENSIONALI
Utilizzando le nostre attuali conoscenze, proviamo a risolvere il seguente problema: Calcolare la media dei voti conseguiti in un test di Informatica in una classe di 20 alunni.
Così facendo si ottiene la media dei voti, ma si perdono informazioni sui voti di ciascun alunno. Per risolvere questo inconveniente si può pensare di ricorrere ad un nuovo tipo di dato: l’ARRAY UNIDIMENSIONALE o VETTORE L’array può essere pensato come un contenitore diviso in tanti scomparti numerati Nel primo scomparto viene messa una variabile, nel secondo un’altra e così via. Dentro i singoli scomparti di un array si possono mettere variabili di tipo int, float, char ecc.. a condizione che siano OMOGENEE, cioè dello stesso tipo
Che valore assume vet[1]?????
N.B: Operatori: In C non esistono operatori specifici per i vettori; per operare sui vettori è necessario operare singolarmente sugli elementi componenti (coerentemente con il tipo ad essi associato). non e` possibile l'assegnamento diretto tra vettori: int V[10], W[10]; … V=W; /* e` scorretto! */
L’inizializzazione di un array Un array può essere inizializzato in due modi: Esplicitamente, al momento della creazione, fornendo le costanti di inizializzazione dei dati Durante l’esecuzione del programma, assegnando dato nell’array. Vediamo un esempio di inizializzazione esplicita al momento della creazione: int array_quattro[3] = {12, 0, 4}; char vocali[5] = {'a','e','i','o','u'}; float decimali[2] = {1.329, 3.34};
Per inizializzare un array durante l'esecuzione del programma occorre accedere, generalmente con un CICLO, ad ogni elemento dell'array stesso ed assegnargli un valore. L'accesso ad un elemento di un array avviene indicando il nome dell'array e, tra parentesi quadre, l'indice corrispondente all'elemento voluto. x[2] indicherà il …….. elemento dell'array x e non il secondo poichè la numerazione degli indici, come abbiamo detto, inizia da zero.
Vediamo ora un esempio di inizializzazione eseguita durante l'esecuzione del programma: …. int numeri_pari[10]; int i; for(i =0; i < 10; i++){ numeri_pari[i] = i * 2 ; } Il programma precedente non fa altro che assegnare all'array i numeri pari da 0 a………???
Ora vediamo una soluzione migliore al problema iniziale: Calcolare la media dei voti conseguiti in un test di Informatica in una classe di 20 alunni. #include int main() { float ALUNNO[20]; float MEDIA,SOMMA; SOMMA=0; for(int i=0;i<20;i++) { cout<<"Introduci il voto dell'alunno di posto "<<i+1<<" nell'elenco\n"; cin>>ALUNNO[i]; SOMMA=SOMMA+ALUNNO[i]; } MEDIA=SOMMA/20; cout<<"la media e' "<<MEDIA; system("PAUSE"); } Provate voi!
ESERCIZI ESERCIZIO 1: dato il seguente vettore: caricare l’array mediante l’introduzione dei dati da tastiera e poi visualizzare tali dati ESERCIZIO 2: dell’esercizio precedente visualizzare il numero che occupa la terza posizione ESERCIZIO 3: elaborare la media delle temperature massime di una settimana. Prova a verificare nel caso particolare in cui i valori siano 15,0°C 18,5°C 12,3°C 16,5°C 15,0°C 19,7°C 19,5°C Se il programma è corretto l’output risulterà 16,64°C ESERCIZIO 4: costruire e caricare un array di 10 numeri interi e visualizzare la somma di tutti i numeri introdotti
BUON LAVORO!!!!!!!!!!!!
BIBLIOGRAFIA ucidi/Array.pdf ucidi/Array.pdf e-di-un-array/ e-di-un-array/ zione7.pptx zione7.pptx