cari

Rumah  >  Soal Jawab  >  teks badan

c++ - Cari kejadian berturut-turut perkataan daripada input dan kiraan

Soalannya ialah membaca beberapa objek rentetan daripada input standard dan mencari perkataan berulang berturut-turut Sebagai contoh, jika input ialah:
bagaimana sekarang sekarang lembu syurga
, ia sepatutnya mengeluarkan 3 (kini muncul 3 kali berturut-turut)

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

Namun, masalahnya sekarang ialah output sentiasa 0. Saya sendiri mendapati pepijat itu tetapi saya rasa tidak ada yang salah dengan logik Tolong beri saya nasihat, terima kasih~

给我你的怀抱给我你的怀抱2782 hari yang lalu733

membalas semua(2)saya akan balas

  • 为情所困

    为情所困2017-05-16 13:25:50

    if (temp > result)
    {
        result = temp;
        temp = 0;
        
        //!
        word = "";
    }

    wordJuga biarkan kosong.

    balas
    0
  • 为情所困

    为情所困2017-05-16 13:25:50

    cth: Masukkan hanya satu perkataan atau banyak perkataan

    Berfikir secara menyeluruh

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

    balas
    0
  • Batalbalas