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

সি++ প্রোগ্রাম: ডিকশনারি থেকে দিয়ে থাকা স্ট্রিংয়ের ক্যারেক্টার ডিলিট করে সবচেয়ে বড় শব্দ খুঁজে বের করা


একটি ডিকশনারি (dictionary) এবং একটি স্ট্রিং s দেওয়া থাকলে, ডিকশনারিতে সবচেয়ে বড় সেই স্ট্রিং খুঁজে বের করতে হবে যা s-এর কিছু ক্যারেক্টার ডিলিট করে তৈরি করা যায়। s = "apbreoigroakml" হলে, ডিকশনারি {"prog", "ram", "program"} থাকলে ফলাফল "program"।

সমাধান: সব ডিকশনারি শব্দ ঘুরে, প্রতিটি শব্দের জন্য যাচাই করা হবে কি সেটি দেওয়া স্ট্রিং-এর সাবসিকোয়েন্স (subsequence) এবং সবচেয়ে লম্বা। সবচেয়ে লম্বা সাবসিকোয়েন্স 가진 শব্দটি রিটার্ন করা।

উদাহরণ

#include<iostream> #include<vector> using namespace std; bool isSubSequence(string s1, string s2) {    int m = s1.length(), n = s2.length();    int j = 0;    for (int i=0; i dict, string s) {    string result = "";    int length = 0;    for (string word : dict) {       if (length < word.length() && isSubSequence(word, s)) {          result = word;          length = word.length();       }    }    return result; } int main() {    vector  dict = {"prog", "ram", "program"};    string str = "apbreoigroakml" ;    cout << getLongestSubstr(dict, str) << endl; }

আউটপুট

program

  1. C++-এ getline (string) ফাংশন

  2. সি++ প্রোগ্রাম: দিয়ে থাকা স্ট্রিং-এ "1(0+)1" প্যাটার্নের সব.matches খুঁজে বের করা

  3. C++ প্রোগ্রাম: দুটি স্ট্রিংয়ের অনকমন ক্যারেক্টার বের করা

  4. C++ প্রোগ্রাম: স্ট্রিংয়ের পারমুটেশন সংখ্যা বের করা