Esercizi Funzioni C++
Codegrind Team•Jul 22 2023
Ecco degli esercizi semplici con soluzione per praticare le basi delle funzioni in C++.
Esercizio 1
Scrivi una funzione che prenda in input due numeri interi e restituisca la loro somma.
#include <iostream>
using namespace std;
int somma(int a, int b) {
return a + b;
}
int main() {
int num1 = 5;
int num2 = 3;
int risultato = somma(num1, num2);
cout << "La somma è: " << risultato << endl;
return 0;
}
Esercizio 2
Scrivi una funzione che prenda in input un numero intero e stampi tutti i numeri pari fino a quel valore.
#include <iostream>
using namespace std;
void stampaNumeriPari(int n) {
for (int i = 2; i <= n; i += 2) {
cout << i << " ";
}
}
int main() {
int num = 10;
cout << "Numeri pari fino a " << num << ": ";
stampaNumeriPari(num);
cout << endl;
return 0;
}
Esercizio 3
Scrivi una funzione che prenda in input un carattere e restituisca true se è una vocale, altrimenti restituisca false.
#include <iostream>
using namespace std;
bool isVocale(char c) {
c = tolower(c);
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
return true;
} else {
return false;
}
}
int main() {
char carattere = 'A';
if (isVocale(carattere)) {
cout << carattere << " è una vocale." << endl;
} else {
cout << carattere << " non è una vocale." << endl;
}
return 0;
}
Esercizio 4
Scrivi una funzione che prenda in input un array di interi e il suo numero di elementi, e restituisca la somma di tutti gli elementi dell'array.
#include <iostream>
using namespace std;
int sommaArray(int array[], int lunghezza) {
int somma = 0;
for (int i = 0; i < lunghezza; i++) {
somma += array[i];
}
return somma;
}
int main() {
const int NUM_ELEMENTI = 5;
int numeri[NUM_ELEMENTI] = {1, 2, 3, 4, 5};
int risultato = sommaArray(numeri, NUM_ELEMENTI);
cout << "La somma degli elementi dell'array è: " << risultato << endl;
return 0;
}
Esercizio 5
Scrivi una funzione che prenda in input un numero intero e restituisca il suo quadrato.
#include <iostream>
using namespace std;
int quadrato(int num) {
return num * num;
}
int main() {
int numero = 5;
int risultato = quadrato(numero);
cout << "Il quadrato di " << numero << " è: " << risultato << endl;
return 0;
}
Esercizio 6
Scrivi una funzione che prenda in input una stringa e restituisca la sua lunghezza.
#include <iostream>
#include <cstring>
using namespace std;
int lunghezzaStringa(char stringa[]) {
return strlen(stringa);
}
int main() {
char testo[] = "Ciao Mondo";
int lunghezza = lunghezzaStringa(testo);
cout << "La lunghezza della stringa è: " << lunghezza << endl;
return 0;
}
Esercizio 7
Scrivi una funzione che prenda in input due numeri float e restituisca il loro prodotto.
#include <iostream>
using namespace std;
float prodotto(float a, float b) {
return a * b;
}
int main() {
float num1 = 2.5;
float num2 = 3.7;
float risultato = prodotto(num1, num2);
cout << "Il prodotto è: " << risultato << endl;
return 0;
}
Esercizio 8
Scrivi una funzione che prenda in input un array di caratteri e stampi tutti i caratteri in ordine inverso.
#include <iostream>
using namespace std;
void stampaInversa(char array[], int lunghezza) {
for (int i = lunghezza - 1; i >= 0; i--) {
cout << array[i] << " ";
}
}
int main() {
const int NUM_CARATTERI = 5;
char caratteri[NUM_CARATTERI] = {'A', 'B', 'C', 'D', 'E'};
cout << "Caratteri in ordine inverso: ";
stampaInversa(caratteri, NUM_CARATTERI);
cout << endl;
return 0;
}
Esercizio 9
Scrivi una funzione che prenda in input un numero intero e restituisca true se è un numero primo, altrimenti restituisca false.
#include <iostream>
using namespace std;
bool isPrimo(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= n/2; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int numero = 17;
if (isPrimo(numero)) {
cout << numero << " è un numero primo." << endl;
} else {
cout << numero << " non è un numero primo." << endl;
}
return 0;
}
Esercizio 10
Scrivi una funzione che prenda in input una matrice di interi e il numero di righe e colonne, e stampi tutti gli elementi della matrice.
#include <iostream>
using namespace std;
void stampaMatrice(int matrice[][3], int righe, int colonne) {
for (int i = 0; i < righe; i++) {
for (int j = 0; j < colonne; j++) {
cout << matrice[i][j] << " ";
}
cout << endl;
}
}
int main() {
const int NUM_RIGHE = 3;
const int NUM_COLONNE = 3;
int matrice[NUM_RIGHE][NUM_COLONNE] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
cout << "Elementi della matrice:" << endl;
stampaMatrice(matrice, NUM_RIGHE, NUM_COLONNE);
return 0;
}