Итак, в настоящее время я выполняю упражнения из моей книги по программированию «Программирование: принципы и практика использования С++» от Бьярна Страуструпа, и в настоящее время я застрял на одном упражнении. По сути, упражнение состоит в том, чтобы написать программу, которая выдает слова, которые ей не нравятся. Это работает так: пользователь вводит строку, а программа повторяет слово. Если слово, которое вводит пользователь, является частью вектора неприязни, слово заменяется на «Bleep». (Я не знаю, правильно ли я объяснил это, но это не должно быть сложно понять).
Это моя версия программы:
int main()
{
string dislike = "Potato";
string words = " ";
cout << "Please enter some words: " << endl;
while(cin>>words)
{
if(words==dislike)
{
cout << "Bleep!" << endl;
}
else
{
cout << words << endl;
}
}
system("pause");
return 0;
}
Как видите, в этой версии не используются векторы (а так и должно быть, потому что упражнение идет сразу после объяснения векторов в главе). Итак, мой вопрос: как я могу реализовать вектор со многими словами «не нравится» в нем следующим образом:
vector<string>dislike;
dislike.push_back("Potatoes");
dislike.push_back("Peanuts");
dislike.push_back("Coconut");
и сделать так, чтобы он работал, как моя другая версия без векторов (повторяет слова, но пищит слова, которые не нравятся). Кажется, я не понимаю, как перемещаться по вектору, чтобы он только пищал слова «не нравится».
Если бы кто-нибудь мог помочь мне и объяснить, как это работает (пожалуйста, не просто дайте мне ответ), я был бы очень признателен.
Спасибо за ваше время и помощь, изучение С++ в одиночку не всегда просто, и я благодарю этот веб-сайт за то, что он немного облегчил мою кривую обучения.
бобикул