C++程序实现短文本大小字符串搜索算法


在這個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<<"Enter Pattern to Search:";
   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:Enter Pattern to Search:
Pattern Found at Position: 0
Pattern Found at Position: 1
Pattern Found at Position: 2
Pattern Found at Position: 3
Total Instances Found = 4

更新日期: 30-Jul-2019

370次瀏覽

开启 职业

完成此课程获得认证

开始
广告