Esercizi Array in C++
Codegrind Team•Jul 22 2023
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;
}