1
Array monodimensionali in C
In C la dichiarazione di una variabile di tipo array è composta da:
• indicazione del tipo componente
• nome dello array
• una coppia di parentesi quadre [ ], che racchiude la
• cardinalità (dimensione, un valore costante) dell’array
<tipo_componente> <nome_array> [<dimensione>];
Esempio: double vettore[10];
2
Se un array ha dimensione N, in C i suoi elementi sono indicizzati da 0 a N-1
Array monodimensionali in C
0 1 2 3 4 5
A Esempio:
double A [6];
3
Individuazione degli elementi dell’array:
<nome_array>[<indice>]
Esempi:
Vettore[3] = 5;
x = Vettore[0] * 2;
0 1 2 3 4 5
vettore
Vettore[3]
Vettore[0]
Esempio
Analisi e Specifica
Definizione del problema: Inserire i valori degli elementi di un array monodimensionale di interi, composto da 50 elementi, e visualizzare il contenuto dell’array così ottenuto
Definizione dei dati del problema:
un programma per ‘riempire dall’esterno’ un array e stampare i valori immessi
5
Esempio
Nome variabile Descrizione Tipo
VET(I) elemento dell’array INT
Nome variabile Descrizione Tipo
VET array di interi con i valori immessi INT Tabella delle variabili di ingresso
Tabella delle variabili di uscita
Nome variabile Descrizione Tipo
I Indice array INT
Tabella delle variabili di algoritmo
6
Esempio
Progettazione
Descrizione del metodo di elaborazione:
Si legge, con un ciclo, il valore di ciascun elemento dell’array.
Si visualizza il contenuto dell’array, visualizzando il valore
di ciascun elemento immesso
7
main() {
int Vett[50], i;
// Legge in input tutti gli elementi del vettore for (i= 0; i< 50; i++)
{
printf(" dammi el. %d- esimo di Vett\ n", i);
scanf("% d", &Vett[ i]);
}
// Stampa tutti gli elementi del vettore for (i= 0; i< 50; i++)
printf("% d\ n", Vett[ i]);
}
Esempio
… e se non voglio riempire tutto lo array, ma utilizzare solo alcuni elementi (tutti consecutivi)? ….
Analisi e Specifica
Definizione del problema: Inserire, in un array monodimensionale di interi composto da 50 elementi, un prefissato numero di valori e visualizzare il contenuto dell’array così ottenuto
Definizione dei dati del problema:
I: la quantità (riempimento) dei valori che si vogliono inserire
9
Esempio
Nome variabile Descrizione Tipo
RIEMP riempimento dell’array INT VET(I) elemento dell’array INT
Nome variabile Descrizione Tipo
VET array di interi con i valori immessi INT Tabella delle variabili di ingresso
Tabella delle variabili di uscita
Nome variabile Descrizione Tipo
I indice array INT
Tabella delle variabili di algoritmo
10
Esempio
Progettazione
Descrizione del metodo di elaborazione:
Si legge il numero di quanti elementi si vogliono inserire (riempimento): tale numero deve essere minore della cardinalità dell’array
.Si legge, con un ciclo, il valore di ciascun elemento dell’array.
Si visualizza il contenuto dell’array, visualizzando il valore
di ciascun elemento immesso
11
/* legge il numero indicante quanti elementi si vogliono inserire (deve essere minore della cardinalità) */
do
{ printf(" Numero elementi che vuoi inserire\ n");
scanf("% d", &riemp);
}
while (riemp>=50);
// Legge in input tutti gli elementi del vettore for (i= 0; i< riemp; i++)
{ printf(" dammi l'el. %d- esimo di vett\ n", i);
scanf("% d", &vett[ i]);
}
// Stampa tutti gli elementi del vettore
for (i= 0; i< riemp; i++) printf("% d\ n", vett[ i]);
}