এই C++ প্রোগ্রামে, ইনপুট হিসেবে একটি টেক্সট এবং একটি প্যাটার্ন দেওয়া থাকে। আউটপুট হিসেবে, প্যাটার্নটি টেক্সটে সার্চ করা হয় এবং প্যাটার্নের সকল উদাহরণ দেওয়া হয়।
অ্যালগরিদম
শুরু
স্ট্রিং এবং প্যাটার্ন ইনপুট নাও।
অরিজিনাল এবং ডুপ্লিকেট অ্যারে তাদের সাইজসহ ডিক্লেয়ার করো।
অরিজিনাল এবং ডুপ্লিকেটের দৈর্ঘ্য len_ori এবং len_dupli-তে রাখো।
সার্চ করা প্যাটার্নের পজিশন বের করার জন্য লুপ চালাও।
যদি প্যাটার্ন না পাওয়া যায়, "not found" প্রিন্ট করো অন্যথায় সার্চ করা প্যাটার্নের উদাহরণের সংখ্যা প্রিন্ট করো।
শেষউদাহরণ কোড
#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++) { // সার্চ করা প্যাটার্নের পজিশন বের করার লুপ
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: aaaa Enter Pattern to Search: aa Pattern Found at Position: 0 Pattern Found at Position: 1 Pattern Found at Position: 2 Pattern Found at Position: 3 Total Instances Found = 4