· Andrea Pollini · programmazione · 9 min read
7 Esercizi sugli array in C++
Raccolta di esercizi sugli array in C++
1. Inizializzare e Stampare un Array:
Scrivere un programma C++ che:
- Dichiara un array di interi con dimensione 10.
- Assegna valori interi consecutivi (da 0 a 9) ad ogni elemento dell’array.
- Stampa a schermo tutti i valori dell’array.
Soluzione:
2. Ricerca di un Elemento in un Array:
Scrivere un programma C++ che:
- Dichiara un array di interi con dimensione 10.
- Riempie l’array con numeri casuali (da 0 a 100).
- Chiede all’utente di inserire un numero.
- Cerca il numero inserito all’interno dell’array.
- Stampa un messaggio se il numero è stato trovato (insieme alla sua posizione) o se non è stato trovato.
Soluzione:
3. Somma degli Elementi di un Array:
Scrivere un programma C++ che:
- Dichiara un array di interi con dimensione 10.
- Assegna valori interi casuali (da 0 a 100) ad ogni elemento dell’array.
- Calcola e stampa la somma di tutti gli elementi dell’array.
Soluzione:
Sotto ci sono due modi per calcolare la somma degli elementi di un array in C++:
1. Ciclo For:
Spiegazione:
- Si includono le librerie necessarie (
iostream
per l’input/output ecstdlib
per i numeri casuali). - Si definiscono la dimensione dell’array (
DIMENSIONE_ARRAY
) e si dichiara l’arrayarray
di interi. - Si inizializza la variabile
somma
a 0 per accumulare il totale. - Un ciclo
for
viene utilizzato per riempire l’arrayarray
con numeri casuali da 0 a 100 utilizzando la funzionerand()
. - (Facoltativo) Il ciclo
for
viene utilizzato anche per stampare i valori dell’array a scopo di verifica. - Un altro ciclo
for
viene utilizzato per percorrere l’arrayarray
. All’interno del ciclo, il valore di ogni elemento viene aggiunto alla variabilesomma
. - Infine, il valore della
somma
viene stampato a schermo.
2. Funzione std::accumulate()
:
Spiegazione:
- Si includono le librerie necessarie (
iostream
per l’input/output enumeric
per la funzionestd::accumulate()
). - Si definiscono la dimensione dell’array (
DIMENSIONE_ARRAY
) e si dichiara l’arrayarray
di interi. - Si riempie l’array
array
con numeri casuali da 0 a 100 utilizzando un ciclofor
(analogamente al primo esempio). - (Facoltativo) Il ciclo
for
viene utilizzato per stampare i valori dell’array a scopo di verifica. - La funzione
std::accumulate()
viene utilizzata per calcolare la somma degli elementi dell’array. Essa prende tre argomenti:array
: l’array da cui sommare gli elementiarray + DIMENSIONE_ARRAY
: un puntatore all’elemento successivo all’ultimo elemento dell’array0
: il valore iniziale per l’accumulatore (in questo caso, 0)
- Il valore della somma viene stampato a schermo.
4. Ordinamento di un Array:
Scrivere un programma C++ che:
- Dichiara un array di interi con dimensione 10.
- Assegna valori interi casuali (da 0 a 100) ad ogni elemento dell’array.
- Ordina l’array in ordine crescente.
- Stampa l’array ordinato.
Soluzione:
5. Elemento Massimo e Minimo in un Array:
Scrivere un programma C++ che:
- Dichiara un array di interi con dimensione 10.
- Assegna valori interi casuali (da 0 a 100) ad ogni elemento dell’array.
- Trova e stampa l’elemento massimo e l’elemento minimo all’interno dell’array.
Soluzione:
6. Copia di un Array in C++
Spiegazione:
- Si includono le librerie necessarie (
iostream
per l’input/output). - Si definiscono le dimensioni (
DIMENSIONE_ARRAY
) e si dichiarano due array:arrayOriginale
earrayCopia
. - Si riempie l’
arrayOriginale
con numeri casuali da 0 a 100 usando un ciclofor
. - (Facoltativo) Si stampa l’
arrayOriginale
per verifica. - Un ciclo
for
viene utilizzato per copiare ogni elemento dell’arrayOriginale
nell’arrayCopia
. - Infine, si stampa l’
arrayCopia
per verificare la copia avvenuta.
7. Inversione di un Array:
Scrivere un programma C++ che:
- Dichiara un array di interi con dimensione 10.
- Assegna valori interi casuali (da 0 a 100) ad ogni elemento dell’array.
- Stampa l’array originale.
- Inverte l’ordine degli elementi dell’array.
- Stampa l’array invertito.
Suggerimenti:
- Puoi utilizzare un ciclo
for
per scorrere l’array in un verso e un altro per scambiare gli elementi. - Puoi anche utilizzare la funzione
std::swap()
per scambiare due elementi alla volta.
Soluzione:
Spiegazione:
- Si includono le librerie necessarie (
iostream
,cstdlib
per i numeri casuali ealgorithm
perstd::swap()
). - Si definiscono la dimensione (
DIMENSIONE_ARRAY
) e si dichiara l’arrayarray
di interi. - Si riempie l’
array
con numeri casuali da 0 a 100 usando un ciclofor
e si stampa l’array originale. - Un ciclo
for
viene utilizzato per invertire l’ordine degli elementi. All’interno del ciclo, si scambiano gli elementiarray[i]
earray[DIMENSIONE_ARRAY - i - 1]
utilizzando la funzionestd::swap()
. Questo processo inverte l’ordine di ogni coppia di elementi, man mano che si procede dal centro dell’array verso i bordi. - Infine, si stampa l’array invertito per verificarne il risultato.