Programmazione – Lezione 6 – Gli Array

Gli Array

Gli array sono dei contenitori di memoria in sequenza, di lunghezza prestabilita, che fanno riferimento alla stessa variabile.
Per accedere ai valori contenuti in un’array si fa riferimento ad un numero chiamato identificatore. Questo significa che alla stessa variabile posso assegnare diversi valori.

Mi spiego meglio, supponiamo di avere una variabile intera di nome A, desidero creare un array di A di lunghezza, ad esempio, 10.

Ecco il codice in linguaggio C.

 int A[10]; // definisce una array intera di nome A che può contenere 10 valori

 //Ora assegno i valori
 A[0] = 5;
 A[1] = 0 ;
 A[2] = 56;
 A[3] = 98;
 A[4] = 15;
 A[6] = 8;
 A[7] = 17;
 A[8] = 9;
 A[9] = 3;

Come notate il primo valore parte sempre da 0, e nel nostro esempio arriva a 9, ed ecco i nostri 10 valori memorizzati.

Se desidero leggere cosa contiene A all’indice 4 basta scrivere:

.
.
. 
 int B;
 B = A[4]; // B sarà uguale a 15

Definiamo un’array matrice.

Supponiamo di voler indicizzare righe e colonne di una tabella 5×4 che contiene dei numeri interi. In questo modo avremo una tabella di 5 righe e 4 colonne da riempire.

L’array va definita così: int tabella [5][4];
Ovviamente invece di chiamarla tabella potete chiamarla come volete.

Si tratta di un array bidimensionale.

Supponiamo che questa è la tabella da inserire nell’array bidimensionale:

tabella2

Scriviamo il nostro codice sorgente:

//definiamo l'array
 int tabella [5][4];

//inseriamo i valori della matrice
tabella[0][0] = 23; tabella[0][1] = 4; tabella[0][2] = 7; tabella[0][3] = 43;
tabella[1][0] = 1; tabella[1][1] = 35; tabella[1][2] = 65; tabella[1][3] = 2;
tabella[2][0] = 55; tabella[2][1] = 75; tabella[2][2] = 12; tabella[2][3] = 89;
tabella[3][0] = 3; tabella[3][1] = 47; tabella[3][2] = 24; tabella[3][3] = 15;
tabella[4][0] = 45; tabella[4][1] = 98; tabella[4][2] = 8; tabella[4][3] = 23;

//stampiamo, ad esempio, il valore della terza riga e seconda colonna
printf("%d",tabella[2][1]); //otterremo 75, ricordate che la prima riga e colonna è 0,0

Proviamo a caricare tutto nel nostro compilatore online ed otterremo:

 tabella1-compiler

Chiaramente possiamo anche creare array a più dimensioni in base ai nostri scopi.

Con le stringhe la procedura è un pelino più complessa ma nulla di impossibile.

Proviamo a realizzare, ad esempio, una semplice rubrica:

// definiamo le array nome, cognome e telefono di una rubrica

//in questo caso useremo un'array di tipo 'char', ovvero stringa, ma bidimensionale, la prima dimensione rappresenta il numero
//di elementi massimo da inserire in rubrica (nel nostro esempio 4), la seconda dimensione indica la lunghezza massima di caratteri memorizzati,
//in questo caso ho messo 14, quindi non possiamo inserire nomi e numeri di telefono maggiori di 14 caratteri.
char nome[4][14] = { "Mario", "Paperino", "Mark", "Steve" };
char cognome[4][14] = { "Rossi", "Paolino", "Zuckerberg", "Jobs"};
char telefono[4][14] = { "328123456", "367364748", "12345678", "987654321"}; //anche se si tratta di numeri verranno trattati come stringhe di testo

//stampiamo a schermo, ad esempio, il terzo nome, cognome e numero presente nella nostra rubrica
 printf(nome[2]); // "Mark"
 printf("\n"); //a capo
 printf(cognome[2]); // "Zuckerberg"
 printf("\n"); // a capo
 printf(telefono[2]); // "12345678"


Inserendo nel compilatore otterremo:

tabella2-compiler

Per concludere con questa lezione, gli array sono estremamente potenti ed utili, si utilizzano molto spesso in programmazione per cui è necessario che impariate ad utilizzarli con disinvoltura.
Provate voi stessi a fare qualcosa con il compilatore, vi aspetto alla prossima lezione Smile-Ammicca

Se ti è piaciuto l'articolo e apprezzi il mio lavoro potresti aiutarmi con una piccola donazione, tramite PayPal, offrendomi un cappuccino.
Grazie di cuore!
Dona