Как можно вывести слово из текста s1, в котором встречается строка s2(Например, s1="qwe rtyu iopas", s2="ty", вывод "rtyu")?

Чтобы вывести слово из строки s1, в котором встречается строка s2 в C++, мы можем использовать различные методы и функции для обработки строк.

Одним из простых и эффективных подходов является использование стандартной библиотеки C++ - string и метода find для поиска совпадения строки s2 в строке s1. Затем мы можем использовать метод substr для извлечения вхождения строки из s1.

Приведен ниже пример кода на C++, который выполняет описанные выше действия:

c++ #include <iostream> #include <string> std::string findWordWithSubstring(const std::string& s1, const std::string& s2) { size_t startPos = s1.find(s2); // поиск позиции начала вхождения строки s2 в строку s1 if (startPos != std::string::npos) { size_t endPos = s1.find(' ', startPos); // поиск позиции пробела после начала вхождения s2 if (endPos != std::string::npos) { size_t wordLength = endPos - startPos; // нахождение длины слова return s1.substr(startPos, wordLength); // извлечение слова } } return ""; } int main() { std::string s1 = "qwe rtyu iopas"; std::string s2 = "ty"; std::string result = findWordWithSubstring(s1, s2); if (result.empty()) { std::cout << "Совпадение не найдено" << std::endl; } else { std::cout << result << std::endl; // вывод найденного слова } return 0; }

В данном примере функция findWordWithSubstring принимает две строки - s1 и s2. Она использует метод find для поиска позиции начала вхождения строки s2 в строке s1. Затем она ищет следующий пробел после начала вхождения s2 и использует метод substr для извлечения подстроки с найденным словом.

В функции main задаются исходные строки s1 и s2, вызывается функция findWordWithSubstring, и предусмотрена обработка случая, когда совпадение не найдено. Результат выводится на экран.