text=〞我家门前有两棵树,一棵是枣树,还有一棵也是枣树" pattern ="枣树” 要求:1使用C++语言设计算法 2.通过键盘输入的方式为text、pattern赋值
时间: 2024-09-21 21:07:45 浏览: 20
在C++中,我们可以使用字符串处理函数来实现这个简单的文本匹配。这里我们假设你想找出文本中所有与给定模式"枣树"相匹配的部分。下面是一个简单的算法:
```cpp
#include <iostream>
#include <string>
void findPattern(const std::string& text, const std::string& pattern) {
size_t pos = 0;
while ((pos = text.find(pattern, pos)) != std::string::npos) {
std::cout << "找到匹配:枣树在位置 " << pos << std::endl;
pos += pattern.length(); // 移动查找起点到下一个可能出现的位置
}
if (pos == std::string::npos) {
std::cout << "未找到匹配" << std::endl;
}
}
int main() {
std::string text = "";
std::cout << "请输入文本:";
getline(std::cin, text); // 使用getline读取整行文本
std::string pattern = "枣树";
std::cout << "请输入模式:";
getline(std::cin, pattern);
findPattern(text, pattern);
return 0;
}
```
在这个程序中,`find()`函数用于查找字符串中首次出现模式的位置,如果找不到就返回`std::string::npos`。循环遍历直到找不到匹配为止。