在此C ++程序中,给出了文本和模式作为输入。作为输出,在文本中搜索模式,并给出该模式的所有实例。
Begin Take the string and pattern as input. Declare the original and duplicate array with their size. Put the lengths of original and duplicate in len_ori and len_dupli. Make a loop for find out the position of the searched pattern. If pattern is not found, print not found otherwise print the no of instances of the searched pattern. End
#include<iostream>
#include<cstring>
using namespace std;
int main() {
char ori[120], dupli[120];
int i, j, k = 0, len_ori, len_dupli;
cout<<"enter string without any blank space"<<endl;
cout<<"\nEnter Original String:";
cin>>ori;
cout<<"输入要搜索的模式:";
cin>>dupli;
len_ori = strlen(ori);
len_dupli = strlen(dupli);
for (i = 0; i <= (len_ori - len_dupli); i++) // loop to find out the position Of searched pattern {
for (j = 0; j < len_dupli; j++) {
if (ori[i + j] != dupli[j])
break ;
}
if (j == len_dupli) {
k++;
cout<<"\nPattern Found at Position: "<<i;
}
}
if (k == 0)
cout<<"\nNo Match Found!";
else
cout<<"\nTotal Instances Found = "<<k;
return 0;
}输出结果
enter string without any blank space Enter Original String:输入要搜索的模式: Pattern Found at Position: 0 Pattern Found at Position: 1 Pattern Found at Position: 2 Pattern Found at Position: 3 Total Instances Found = 4