কম্পিউটার

C++ এ n পুনরাবৃত্তির পর প্রাপ্ত একটি বাইনারি স্ট্রিং-এ i’th সূচক অক্ষর খুঁজুন


ধরুন আমাদের একটি বাইনারি স্ট্রিং বিন আছে। তারপর এটিতে n পুনরাবৃত্তি প্রয়োগ করুন এবং প্রতিটি পুনরাবৃত্তিতে 0 হয়ে যায় 01 এবং 1 হয়ে যায় 10, তারপর nম পুনরাবৃত্তির পরে স্ট্রিংটিতে ith সূচক অক্ষর। সুতরাং বাইনারি স্ট্রিং যদি 101, এবং n =2, এবং i =3 হয়, তাহলে প্রথম পুনরাবৃত্তির পরে এটি হবে 100110, পরবর্তী পুনরাবৃত্তিতে, এটি 100101101001 হবে, তাই ith সূচকটি 1 ধরে রেখেছে।

এটি সমাধান করার জন্য, আমাদের এই পদক্ষেপগুলি অনুসরণ করতে হবে -

  • ন বার লুপ চালান, এবং প্রতিটি পুনরাবৃত্তিতে স্ট্রিং এ আরেকটি লুপ চালান
    • বাইনারী স্ট্রিং এর প্রতিটি অক্ষরকে রূপান্তর করুন, এবং যদি এটি 0 হয়, তাহলে 01 সংরক্ষণ করুন বা যদি 1 হয়, তাহলে 10কে অন্য একটি অস্থায়ী স্ট্রিংয়ে সংরক্ষণ করুন
    • অভ্যন্তরীণ লুপ সম্পূর্ণ হওয়ার পরে, অস্থায়ী স্ট্রিংকে বাইনারি স্ট্রিংয়ে সংরক্ষণ করুন।
  • তারপর ith ইনডেক্স দিন।

উদাহরণ

#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++ এ বাইনারি গাছের পাতা খুঁজুন

  2. C++ ব্যবহার করে বন্ধনীর একটি স্ট্রিংয়ে একটি সমান পয়েন্ট খুঁজুন।

  3. C++ এ স্ট্রিং এ() ফাংশন

  4. একটি স্ট্রিং এ একটি অক্ষরের ফ্রিকোয়েন্সি খুঁজে পেতে C++ প্রোগ্রাম