4 votes

C++ code simple. Besoin de trouver un mot adjaceant répétant

Je dois écrire du code qui vérifie si l'utilisateur a saisi le même mot deux fois ou non, et si c'est le cas, il affichera un message indiquant qu'il l'a fait. Jusqu'à présent, j'ai :

#include <iostream>

using namespace std;

int main(){

    string previous = "";
    string current = "";

    while (cin>>current); {
        if(current == previous); {
            cout<<"mot répété";
        }
        previous=current;

    }
}

Il compile, mais il ne produira pas le message chaque fois que l'utilisateur tape le même mot deux fois.

3voto

user1708860 Points 1138

Si vous remarquez, votre code contient ; à des endroits où il ne devrait pas être présent. Par exemple, si vous le placez après un while (cin >> actuel) alors le code que vous vouliez exécuter, ne sera pas exécuté.

Essayez ceci:

#include 

using namespace std;

int main(){

string precedent = "";
string actuel = "";

while (cin >> actuel)
{
      if(actuel == precedent)
      {
              cout << "mot répété";
      }
      precedent = actuel;

      }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X