
Задана последовательность из n символов. Вывести сообщение, верно ли, что среди данных символов
встречаются все буквы слова "Yes". Сделать в Visual Studio C++.

Ответы на вопрос

Код
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
string s;
unsigned int yValue = 0, eValue = 0, sValue = 0;
cout << "Введите строку: ";
cin >> s;
for(int i = 0; i < s.length(); i++){
char t = s[i];
switch(t){
/*
break нужен обязательно, так как после прохождения условия case оно прыгает на следующее,
а когда в конце оно видит break, то мгновенно обрывают дальнейшие перескоки
*/
case 'Y': yValue = yValue + 1; break;
case 'e': eValue = eValue + 1; break;
case 's': sValue = sValue + 1; break;
}
}
if((yValue >= 1) && (eValue >= 1) && (sValue >= 1)){
cout << "Да, все буквы слова 'Yes' содержатся в введённом предложении.";
}
else{
cout << "Нет, не все буквы слова 'Yes' содержатся в введённом предложении.";
}
return 0;
}
Проверка
Введите строку: YYeeeeeeeeeeeeeeeeeeeah
Нет, не все буквы слова 'Yes' содержатся в введённом предложении.
Введите строку: YesYesyesYesyesYes
Да, все буквы слова 'Yes' содержатся в введённом предложении.



Вот пример кода на C++, который решает данную задачу:
cpp#include <iostream>
#include <cstring>
using namespace std;
bool containsYes(string str) {
// создаем массив флагов, отмечающих встречу каждой буквы из "Yes"
bool flags[3] = {false, false, false};
for (int i = 0; i < str.length(); i++) {
// если встретилась буква из "Yes", то устанавливаем соответствующий флаг
if (str[i] == 'Y') {
flags[0] = true;
} else if (str[i] == 'e') {
flags[1] = true;
} else if (str[i] == 's') {
flags[2] = true;
}
}
// проверяем, что все флаги установлены
return flags[0] && flags[1] && flags[2];
}
int main() {
string str;
cout << "Введите последовательность символов: ";
getline(cin, str);
if (containsYes(str)) {
cout << "Да, все буквы слова \"Yes\" встречаются в последовательности" << endl;
} else {
cout << "Нет, не все буквы слова \"Yes\" встречаются в последовательности" << endl;
}
return 0;
}
Код принимает входную строку с помощью функции getline(cin, str)
, затем проходит по всем символам строки и отмечает встречу букв "Y", "e" и "s" в массиве флагов. По завершении проверяется, что все флаги установлены, и выводится соответствующее сообщение.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili