これは、 「 C++ を使用した原則と実践」からの演習です。嫌いな単語を取り出して「ピー音」で鳴らす必要があります。実行するコードを取得しましたが、実行する前に以下のコードを書いたところ、クラッシュしました。なぜクラッシュしたのか、もっと知りたいです。それはif(words[i-1]==dislike)でしたか? もしそうなら、チェックがプログラムをクラッシュさせないのはなぜですか?それはおそらく単純な答えですが、私は知りたいと思っていました.
#include <iostream>
#include "std_lib_facilities.h"
using namespace std;
int main()
{
vector<string> words;
string temp;
string dislike = "tuggo";
while(cin>>temp)
words.push_back(temp);
cout << "Number of words: " << words.size() << endl;
sort(words.begin(),words.end());
for(int i = 0; i<words.size(); ++i)
{
if(words[i-1]==dislike)
cout << "BEEP DONT SAY TUGGO WHOOPS I SAID TUGG--BEEP";
else if(i==0 || words[i-1]!=words[i])
cout << words[i] << endl;
}
keep_window_open();
}