Чтобы вывести слово из строки 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
, и предусмотрена обработка случая, когда совпадение не найдено. Результат выводится на экран.