🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

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;
}