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

C++-এ ক্যারেক্টার রিপ্লেসমেন্ট কোয়েরিয়ের পর প্যালিনড্রোম কিনা তা যাচাই করা


বিবেচনা করুন আমাদের একটি স্ট্রিং এবং কিছু কোয়েরি সেট Q আছে। প্রতিটি কোয়েরিতে দুটি ইন্টিজার i এবং j থাকে, এবং একটি ক্যারেক্টার c। আমাদের i এবং j ইনডেক্সের ক্যারেক্টারগুলো নতুন ক্যারেক্টার c দিয়ে রিপ্লেস করতে হবে। এবং বলতে হবে স্ট্রিংটি প্যালিনড্রোম কিনা। ধরুন একটি স্ট্রিং "AXCDCMP", যদি একটি কোয়েরি (1, 5, B) ব্যবহার করি, তবে স্ট্রিং হবে "ABCDCBP", আবার অন্য কোয়েরি (0, 6, A) দিলে "ABCDCBA" হবে, যা প্যালিনড্রোম।

আমাদের i, j ইনডেক্স ব্যবহার করে একটি কোয়েরি তৈরি করতে হবে, তারপর স্ট্রিংয়ের i, j ইনডেক্সের ক্যারেক্টারগুলো c দিয়ে রিপ্লেস করতে হবে।

উদাহরণ

#include <iostream> using namespace std; class Query{    public:    int i, j;    char c;    Query(int i, int j, char c){       this->i = i;       this->j = j;       this->c = c;    } }; bool isPalindrome(string str){    int n = str.length();    for (int i = 0; i < n/2 ; i++)    if (str[i] != str[n-1-i])       return false;       return true; } bool palindromeAfterQuerying(string str, Query q[], int n){    for(int i = 0; i<n; i++){       str[q[i].i] = q[i].c;       str[q[i].j] = q[i].c;       if(isPalindrome(str)){          cout << str << " is Palindrome"<< endl;       }else{          cout << str << " is not Palindrome"<< endl;       }    } } int main() {    Query q[] = {{1, 5, 'B'}, {0, 6, 'A'}};    int n = 2;    string str = "AXCDCMP";    palindromeAfterQuerying(str, q, n); }

আউটপুট

ABCDCBP is not Palindrome ABCDCBA is Palindrome

  1. সি++-এ ট্রিতে পূর্বপুরুষ-বংশজ সম্পর্কের কোয়েরি সমাধান

  2. C++-এ ট্রি-এ অ্যানসেস্টার-ডেসেন্ডেন্ট রিলেশনশিপ কুয়েরি

  3. সি++ STL ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা তা যাচাই করার প্রোগ্রাম

  4. সি++ প্রোগ্রাম: অপ্টিমাল পেজ রিপ্লেসমেন্ট অ্যালগরিদম