কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: ছোট টেক্সট সাইজের জন্য স্ট্রিং সার্চ অ্যালগরিদম ইমপ্লিমেন্টেশন


এই 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

  1. C++-এ ককটেইল সর্ট প্রোগ্রাম

  2. C++-এ জনসন অ্যালগরিদম (Johnson's Algorithm) ইমপ্লিমেন্টেশন

  3. C++-এ ক্যাডেনস অ্যালগরিদম (Kadane's Algorithm) ইমপ্লিমেন্টেশন

  4. C++-এ ভিজিনার সাইফার (Vigenere Cipher) ইমপ্লিমেন্টেশন