何らかの理由で、このコードはリスト内のすべての単語を出力していますが、z が 3 つ以上ある単語だけを出力したいのです
「zz」を含む単語の検索の下で、バズやブリザードの例のコードを解決することができました。私の主な目標は、単語全体で 3 つの z が含まれる単語を検索することです。頭のてっぺんから外れた例としては、zblizzard などがあります。
Word* Dictionary::findzs()
{
int wordIndex = 0;
cout << "List : " << endl;
while (wordIndex < MAX_WORDS) {
string word1 = myWords[wordIndex]->word;
wordIndex++;
if (word1.find("zz") != std::string::npos){
cout << word1 << endl;
}
}
return 0;
}
アップデート:
bool has_3_zs(const std::string& s)
{
return std::count(std::begin(s), std::end(s), 'z') >= 3;
}
void Dictionary::has3zs()
{
int wordIndex = 0;
string word = myWords[wordIndex]->word;
while (wordIndex < MAX_WORDS) {
for (auto& s : { word })
{
if (has_3_zs(s))
{
std::cout << s << '\n';
}
}
}
}