🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Lavorare con le Stringhe in C++

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi su come lavorare con le stringhe in C++.

Esercizio 1

Scrivi un programma che dichiara una stringa vuota e successivamente chiede all'utente di inserire una parola. Infine, stampa la lunghezza della parola inserita.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string parola;

    cout << "Inserisci una parola: ";
    cin >> parola;

    cout << "La lunghezza della parola inserita è: " << parola.length() << endl;

    return 0;
}

Esercizio 2

Scrivi un programma che dichiara due stringhe e le concatena in una terza stringa. Infine, stampa la stringa risultante.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string primaStringa = "Ciao";
    string secondaStringa = "Mondo";
    string terzaStringa;

    terzaStringa = primaStringa + " " + secondaStringa;

    cout << "La stringa risultante è: " << terzaStringa << endl;

    return 0;
}

Esercizio 3

Scrivi un programma che dichiara una stringa e converte tutti i caratteri in maiuscolo. Infine, stampa la stringa in maiuscolo.
#include <iostream>
#include <string>
#include <cctype>
using namespace std;

int main() {
    string testo = "ciao mondo";

    for (int i = 0; i < testo.length(); i++) {
        testo[i] = toupper(testo[i]);
    }

    cout << "La stringa in maiuscolo è: " << testo << endl;

    return 0;
}

Esercizio 4

Scrivi un programma che dichiara una stringa e conta il numero di vocali presenti al suo interno. Infine, stampa il numero di vocali.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "ciao mondo";
    int contatore = 0;

    for (int i = 0; i < testo.length(); i++) {
        char carattere = tolower(testo[i]);
        if (carattere == 'a' || carattere == 'e' || carattere == 'i' || carattere == 'o' || carattere == 'u') {
            contatore++;
        }
    }

    cout << "Il numero di vocali nella stringa è: " << contatore << endl;

    return 0;
}

Esercizio 5

Scrivi un programma che dichiara una stringa e verifica se è palindroma, ovvero se può essere letta allo stesso modo da sinistra a destra e da destra a sinistra. Infine, stampa "Palindroma" o "Non palindroma" a seconda del risultato.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "anna";
    bool palindroma = true;

    for (int i = 0; i < testo.length() / 2; i++) {
        if (testo[i] != testo[testo.length() - 1 - i]) {
            palindroma = false;
            break;
        }
    }

    if (palindroma) {
        cout << "La stringa è palindroma" << endl;
    } else {
        cout << "La stringa non è palindroma" << endl;
    }

    return 0;
}

Esercizio 6

Scrivi un programma che dichiara una stringa e sostituisce tutte le occorrenze di una determinata lettera con un'altra lettera. Infine, stampa la stringa risultante.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "ciao mondo";
    char letteraDaSostituire = 'o';
    char letteraDiSostituzione = 'a';

    for (int i = 0; i < testo.length(); i++) {
        if (testo[i] == letteraDaSostituire) {
            testo[i] = letteraDiSostituzione;
        }
    }

    cout << "La stringa risultante è: " << testo << endl;

    return 0;
}

Esercizio 7

Scrivi un programma che dichiara una stringa e verifica se inizia con una determinata sottostringa. Infine, stampa "Inizia con la sottostringa" o "Non inizia con la sottostringa" a seconda del risultato.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "Ciao mondo";
    string sottostringa = "Ciao";

    if (testo.find(sottostringa) == 0) {
        cout << "La stringa inizia con la sottostringa" << endl;
    } else {
        cout << "La stringa non inizia con la sottostringa" << endl;
    }

    return 0;
}

Esercizio 8

Scrivi un programma che dichiara una stringa e verifica se termina con una determinata sottostringa. Infine, stampa "Termina con la sottostringa" o "Non termina con la sottostringa" a seconda del risultato.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "Ciao mondo";
    string sottostringa = "mondo";

    if (testo.rfind(sottostringa) == testo.length() - sottostringa.length()) {
        cout << "La stringa termina con la sottostringa" << endl;
    } else {
        cout << "La stringa non termina con la sottostringa" << endl;
    }

    return 0;
}

Esercizio 9

Scrivi un programma che dichiara una stringa e rimuove tutti gli spazi in essa contenuti. Infine, stampa la stringa senza spazi.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "Ciao mondo come stai?";

    testo.erase(remove(testo.begin(), testo.end(), ' '), testo.end());

    cout << "La stringa senza spazi è: " << testo << endl;

    return 0;
}

Esercizio 10

Scrivi un programma che dichiara una stringa e verifica se contiene una determinata sottostringa. Infine, stampa "Contiene la sottostringa" o "Non contiene la sottostringa" a seconda del risultato.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string testo = "Ciao mondo";
    string sottostringa = "mon";

    if (testo.find(sottostringa) != string::npos) {
        cout << "La stringa contiene la sottostringa" << endl;
    } else {
        cout << "La stringa non contiene la sottostringa" << endl;
    }

    return 0;
}