I have implemented a simple pattern matching algorithm. Any suggestions for optimization?
#include<iostream>
#include<string>
int patten_search(const std::string &txt, const std::string &pat) {
int found = 0;
for (int i = 0; i<txt.size()-pat.size()+1; i++) {
int lps = pat.size();
for(int j=0; j<pat.size(); j++){
if(pat[j] != txt[i+j])
lps --;
}
if(lps == pat.size()){
i = i+lps;
found = 1;
}
}
return found;
}
int main() {
std::string txt;
std::string pat;
std::cout<<"enter your text string"<<std::endl;
std::cin>>txt;
std::cout<<"enter your pattern which you would like to search"<<std::endl;
std::cin>>pat;
if(patten_search(txt, pat)){
std::cout<<"Pattern found"<<std::endl;
} else {
std::cout<<"Pattern not found"<<std::endl;
}
}