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

C++ প্রোগ্রাম: 'a' ক্যারেক্টার যোগ করে স্ট্রিংকে নন-প্যালিনড্রোম বানানো

মান লিখুন: আমাদের কাছে ছোট হাতের ইংরেজি অক্ষর দিয়ে তৈরি একটি স্ট্রিং S রয়েছে। আমাদের S-তে ঠিক একটি 'a' ক্যারেক্টার ইনসার্ট করতে হবে। ইনসার্ট করার পর যদি S প্যালিনড্রোম না হয়, তবে সেটি রিটার্ন করুন, অন্যথায় "impossible" রিটার্ন করুন।

উদাহরণ

যদি ইনপুট হয় S = "bpapb", তবে আউটপুট হবে "bpaapb"

সমাধানের ধাপসমূহ

যদি S + "a" প্যালিনড্রোম নয়:
    S + 'a' রিটার্ন করুন
অন্যথায় যদি "a" + S প্যালিনড্রোম নয়:
    'a' + S রিটার্ন করুন
অন্যথায়:
    "Impossible" রিটার্ন করুন

C++ বাস্তবায়ন

#include <bits/stdc++.h>
using namespace std;

bool p(const string& s) {
    for (int i = 0; i < s.size() / 2; i++)
        if (s[i] != s[s.size() - 1 - i])
            return false;
    return true;
}

string solve(string S) {
    if (!p(S + 'a'))
        return S + 'a';
    else if (!p('a' + S))
        return 'a' + S;
    else
        return "Impossible";
}

int main() {
    string S = "bpapb";
    cout << solve(S) << endl;
}

ইনপুট

"bpapb"

আউটপুট

bpapba
  1. C++-এ স্ট্রিংর প্রতিটি ক্যারেক্টারে লুপ চালানো

  2. স্ট্রিং-এ ক্যারেক্টার বা অ্যালফাবেটের ফ্রিকোয়েন্সি বের করার C++ প্রোগ্রাম

  3. স্ট্রিংয়ের দৈর্ঘ্য (Length) বের করার C++ প্রোগ্রাম

  4. ক্যারেক্টারের ASCII মান বের করার C++ প্রোগ্রাম