diff --git a/ch5/5.14.cpp b/ch5/5.14.cpp index 22f5c7f..e1c36ae 100644 --- a/ch5/5.14.cpp +++ b/ch5/5.14.cpp @@ -1,30 +1,34 @@ #include #include -int main() { - std::string word, duplicatedWord, maxDuplicatedWord; - unsigned cnt = 0, maxCnt = 0; - while (std::cin >> word) { - if (word == duplicatedWord) - ++cnt; - else { - if (cnt > maxCnt) { - maxDuplicatedWord = duplicatedWord; - maxCnt = cnt; - } - duplicatedWord = word; - cnt = 1; - } - } - if (cnt > maxCnt) { - maxDuplicatedWord = duplicatedWord; - maxCnt = cnt; - } - if (maxCnt > 1) { - std::cout << maxDuplicatedWord << " occurs " << maxCnt - << " times." << std::endl; - } else { - std::cout << "No word was repeated." << std::endl; - } - return 0; +int main() +{ + int repetition = 1; + int occur = 1; + std::string largest; + std::string s; + std::string temp; + + while (std::cin >> s) + { + if (temp != s) + { + temp = s; + } + else + { + ++occur; + if (occur > repetition) + { + repetition = occur; + largest = s; + } + } + } + if (repetition > 1) + std::cout << largest << "occured: " << repetition; + else + std::cout << "no repetiotion"; + + return 0; }