c++ - Rechercher des occurrences consécutives de mots à partir d'une entrée et compter
给我你的怀抱
给我你的怀抱 2017-05-16 13:23:50
0
2
710

La question est de lire plusieurs objets chaîne à partir de l'entrée standard et de trouver des mots répétés consécutifs. Par exemple, si l'entrée est :
comment maintenant maintenant la vache du paradis
, elle devrait afficher 3 (apparaît maintenant 3 fois de suite)

.
#include "iostream"
#include "string"

using namespace std;

int main() {
    int result = 0;
    int temp = 0;

    string word = "";
    string tempWord = "";

    cout << "Enter a bunch of words: " << endl;
    while (cin >> tempWord) {
        if (word == "") {
            word = tempWord;
            ++temp;
        }
        else {
            if (tempWord == word) {
                ++temp;
            }
            else {
                if (temp > result) {
                    result = temp;
                    temp = 0;
                }
            }
        }
    }
    cout << result << endl;

    return 0;
}

Cependant, le problème maintenant est que la sortie est toujours 0. J'ai trouvé le bug moi-même mais je pense qu'il n'y a rien de mal avec la logique. S'il vous plaît, donnez-moi quelques conseils, merci~

.
给我你的怀抱
给我你的怀抱

répondre à tous(2)
为情所困
if (temp > result)
{
    result = temp;
    temp = 0;
    
    //!
    word = "";
}

wordLaissez-le également vide.

为情所困

Par exemple : saisissez un seul mot ou plusieurs mots

Penser globalement

#include<iostream>
#include<string>
using namespace std;
int main() {
    int result = 0;
    int temp = 0;

    string word = "";
    string tempWord = "";

    cout << "Enter a bunch of words: " << endl;
    while (cin >> tempWord) {
        if (word == "") {
            word = tempWord;
            ++temp;
            if (temp > result) {
                result = temp;
        }

        }
        else {
            if (tempWord == word) {
                ++temp;
                if (temp > result) {
                       result = temp;
            }
            }
            else {    
        word = tempWord;
        temp = 1;
            }
        }
    }
    cout << result << endl;

return 0;
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal