Ecco degli esercizi semplici con soluzione per praticare le basi degli array in C++.
Esercizio 1
Calcola la somma degli elementi di un array di numeri interi:
#include <iostream>using namespace std;
int main() { int numeri[] = {5, 10, 15, 20, 25}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]); int somma = 0;
for (int i = 0; i < lunghezza; i++) { somma += numeri[i]; }
cout << "La somma degli elementi dell'array è: " << somma << endl;
return 0;}
Esercizio 2
Trova il valore massimo in un array di numeri interi:
#include <iostream>using namespace std;
int main() { int numeri[] = {5, 10, 15, 20, 25}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]); int massimo = numeri[0];
for (int i = 1; i < lunghezza; i++) { if (numeri[i] > massimo) { massimo = numeri[i]; } }
cout << "Il valore massimo dell'array è: " << massimo << endl;
return 0;}
Esercizio 3
Verifica se un numero è presente in un array di numeri interi:
#include <iostream>using namespace std;
int main() { int numeri[] = {5, 10, 15, 20, 25}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]); int numeroDaTrovare = 15; bool presente = false;
for (int i = 0; i < lunghezza; i++) { if (numeri[i] == numeroDaTrovare) { presente = true; break; } }
if (presente) { cout << "Il numero " << numeroDaTrovare << " è presente nell'array." << endl; } else { cout << "Il numero " << numeroDaTrovare << " non è presente nell'array." << endl; }
return 0;}
Esercizio 4
Calcola la media dei valori di un array di numeri interi:
#include <iostream>using namespace std;
int main() { int numeri[] = {5, 10, 15, 20, 25}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]); int somma = 0;
for (int i = 0; i < lunghezza; i++) { somma += numeri[i]; }
double media = static_cast<double>(somma) / lunghezza;
cout << "La media dei valori dell'array è: " << media << endl;
return 0;}
Esercizio 5
Inverti l'ordine degli elementi in un array di numeri interi:
#include <iostream>using namespace std;
int main() { int numeri[] = {5, 10, 15, 20, 25}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
cout << "Array originale: "; for (int i = 0; i < lunghezza; i++) { cout << numeri[i] << " "; } cout << endl;
for (int i = 0; i < lunghezza / 2; i++) { int temp = numeri[i]; numeri[i] = numeri[lunghezza - i - 1]; numeri[lunghezza - i - 1] = temp; }
cout << "Array invertito: "; for (int i = 0; i < lunghezza; i++) { cout << numeri[i] << " "; } cout << endl;
return 0;}
Esercizio 6
Trova il numero di occorrenze di un elemento in un array di numeri interi:
#include <iostream>using namespace std;
int main() { int numeri[] = {5, 10, 5, 20, 5}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]); int numeroDaContare = 5; int conteggio = 0;
for (int i = 0; i < lunghezza; i++) { if (numeri[i] == numeroDaContare) { conteggio++; } }
cout << "Il numero " << numeroDaContare << " compare " << conteggio << " volte nell'array." << endl;
return 0;}
Esercizio 7
Copia gli elementi di un array in un altro array:
#include <iostream>using namespace std;
int main() { int array1[] = {1, 2, 3, 4, 5}; int lunghezza = sizeof(array1) / sizeof(array1[0]); int array2[lunghezza];
for (int i = 0; i < lunghezza; i++) { array2[i] = array1[i]; }
cout << "Elementi di array1: "; for (int i = 0; i < lunghezza; i++) { cout << array1[i] << " "; } cout << endl;
cout << "Elementi di array2 (copia di array1): "; for (int i = 0; i < lunghezza; i++) { cout << array2[i] << " "; } cout << endl;
return 0;}
Esercizio 8
Trova la posizione di un elemento in un array di stringhe:
#include <iostream>#include <string>using namespace std;
int main() { string nomi[] = {"Marco", "Paola", "Luca", "Giulia", "Francesca"}; int lunghezza = sizeof(nomi) / sizeof(nomi[0]); string nomeDaTrovare = "Luca"; int posizione = -1;
for (int i = 0; i < lunghezza; i++) { if (nomi[i] == nomeDaTrovare) { posizione = i; break; } }
if (posizione != -1) { cout << "Il nome " << nomeDaTrovare << " si trova nella posizione " << posizione << " dell'array." << endl; } else { cout << "Il nome " << nomeDaTrovare << " non è presente nell'array." << endl; }
return 0;}
Esercizio 9
Controlla se un array di numeri interi è ordinato in modo crescente:
#include <iostream>using namespace std;
bool isArrayOrdered(int array[], int lunghezza) { for (int i = 1; i < lunghezza; i++) { if (array[i] < array[i - 1]) { return false; } } return true;}
int main() { int numeri[] = {1, 2, 3, 4, 5}; int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
if (isArrayOrdered(numeri, lunghezza)) { cout << "L'array è ordinato in modo crescente." << endl; } else { cout << "L'array non è ordinato in modo crescente." << endl; }
return 0;}
Esercizio 10
Calcola la somma di due array di numeri interi e salva il risultato in un terzo array:
#include <iostream>using namespace std;
void sumArrays(int array1[], int array2[], int risultato[], int lunghezza) { for (int i = 0; i < lunghezza; i++) { risultato[i] = array1[i] + array2[i]; }}
int main() { int array1[] = {1, 2, 3, 4, 5}; int array2[] = {6, 7, 8, 9, 10}; int lunghezza = sizeof(array1) / sizeof(array1[0]); int risultato[lunghezza];
sumArrays(array1, array2, risultato, lunghezza);
cout << "Array1: "; for (int i = 0; i < lunghezza; i++) { cout << array1[i] << " "; } cout << endl;
cout << "Array2: "; for (int i = 0; i < lunghezza; i++) { cout << array2[i] << " "; } cout << endl;
cout << "Risultato della somma: "; for (int i = 0; i < lunghezza; i++) { cout << risultato[i] << " "; } cout << endl;
return 0;}