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