次のような文(単なる文字列のようなもの)で「EYE」という単語を見つけるタスクがありますEYEYECARASDFG
。ご覧のとおり、「EYE」という単語が 2 つ重なっています。cout
文中に「EYE」という言葉が何回出てくると思いますか。次のようなコードを書きました。
#include <iostream>
#include <string>
using namespace std;
string sentence;
int main()
{
int i = 0;
cin >> sentence;
while()
{
if (std::string::npos != sentence.find("EYE"))
{
i++;
}
}
cout << i;
}
ループがなくてもwhile
、文の中で EYE を見つけて、ちょっとうまくいきます。だから私は、オーバーラップを数えてコードが最後まで実行されるようにするには、それをループする必要があります。while
だから私はwhileループが最善だと思っていましたが、それをループする方法、ループのブラケットに何を入れるべきかわかりません