输入目标串和模式串,查找目标串中是否存在模式串,存在就输出第一个模式串在目标串出现的位置。用c++写一个完整程序
时间: 2024-03-09 22:45:16 浏览: 27
好的,我可以帮你完成这个任务!以下是一个基于暴力匹配算法的C++程序:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int match(string s, string p) {
int n = s.length(), m = p.length();
for (int i = 0; i <= n - m; i++) {
int j = 0;
for (; j < m; j++) {
if (s[i + j] != p[j]) break;
}
if (j == m) return i;
}
return -1;
}
int main() {
string s, p;
cout << "请输入目标串:";
cin >> s;
cout << "请输入模式串:";
cin >> p;
int pos = match(s, p);
if (pos == -1) {
cout << "目标串中不存在模式串!" << endl;
} else {
cout << "模式串在目标串中的位置为:" << pos << endl;
}
return 0;
}
```
这个程序中,`match`函数用于判断目标串中是否存在模式串,如果存在就返回第一个模式串出现的位置,否则返回-1。在`main`函数中,我们先让用户输入目标串和模式串,然后调用`match`函数进行匹配,并根据返回值输出结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)