Je suis en train d'apprendre le C++. Aujourd'hui, j'ai écrit un code pour enlever les voyelles d'une chaîne de caractères. Il fonctionne bien dans certains tests. Mais ce test ne parvient pas à enlever le "u" d'une chaîne. Mon entrée était: tour
. La sortie était: tur
. Mais je m'attends à avoir la sortie comme tr
pour tour
Code:
#include
using namespace std;
int main()
{
string mot;
getline(cin, mot);
transform(mot.begin(), mot.end(), mot.begin(), ::tolower); // Conversion des majuscules en minuscules
for (int i = 0; i < mot.length(); i++)
{
if (mot[i] == 'a' || mot[i] == 'e' || mot[i] == 'i' || mot[i] == 'o' || mot[i] == 'u')
{
mot.erase(mot.begin() + i); // Suppression d'un caractère spécifique
}
}
cout << mot << endl;
return 0;
}
Comment puis-je faire cela? Où est le problème dans le code?