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

C++-এ n ইটারেশন (Iteration) পর বাইনারি স্ট্রিং-এ i-তম ইনডেক্সের ক্যারেক্টার খুঁজে বের করা


একটি বাইনারি স্ট্রিং bin দেওয়া আছে। এর ওপর n বার ইটারেশন (iteration) প্রয়োগ করতে হবে, প্রতিটি ইটারেশনে 0 হয় 01 এবং 1 হয় 10, এরপর n-তম ইটারেশনের পর i-তম ইনডেক্সের ক্যারেক্টার বের করতে হবে। উদাহরণস্বরূপ, বাইনারি স্ট্রিং 101, n = 2, i = 3 হলে, প্রথম ইটারেশনে হবে 100110, দ্বিতীয় ইটারেশনে হবে 100101101001, তাই ৩-য় ইনডেক্সে ১ আছে।

এটি সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করতে হবে:

  • n বার লুপ চালাতে হবে, প্রতিটি ইটারেশনে স্ট্রিংয়ের ওপর লুপ চালাতে হবে
    • বাইনারি স্ট্রিংর প্রতিটি ক্যারেক্টার কনভার্ট করতে হবে, যদি 0 হয় তবে 01 স্টোর করব, 1 হলে 10 স্টোর করব একটি টেম্পোরারি স্ট্রিং-এ
    • ইনার লুপ শেষ হলে টেম্পোরারি স্ট্রিংকে বাইনারি স্ট্রিং-এ কপি করব
  • তারপর i-তম ইনডেক্স রিটার্ন করব

উদাহরণ

#include<iostream> using namespace std; char getCharacter(string bin_str, int n, int i) {    string temp = "";    for (int x = 0; x < n; x++) {       for (int y = 0; y < bin_str.length(); y++) {          if (bin_str[y] == '1')             temp += "10";          else             temp += "01";       }       bin_str = temp;       temp = "";    }    return bin_str[i]; } int main() {    int n = 2;    string bin = "101";    cout << 3 << "rd character is: "<< getCharacter(bin, n, 3)<<endl;    cout << 9 << "th character is: "<< getCharacter(bin, n, 9); }

আউটপুট

3rd character is: 1 9th character is: 0

  1. C++-এ Find Leaves of Binary Tree: বাইনারি ট্রি থেকে লีফ নোডগুলো লেভেল অনুযায়ী সংগ্রহ করা

  2. C++ ব্যবহার করে ব্র্যাকেট স্ট্রিংয়ে সমান পয়েন্ট বের করা

  3. C++-এ string at() ফাংশন: নির্দিষ্ট পজিশনের ক্যারেক্টার অ্যাক্সেস

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