Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม 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