Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में n पुनरावृत्तियों के बाद प्राप्त बाइनरी स्ट्रिंग में i’th इंडेक्स कैरेक्टर खोजें

मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग बिन है। फिर उस पर n पुनरावृत्तियों को लागू करें, और प्रत्येक पुनरावृत्ति में 0 01 हो जाता है और 1 10 हो जाता है, उसके बाद nth पुनरावृत्ति के बाद स्ट्रिंग में ith इंडेक्स कैरेक्टर होता है। इसलिए यदि बाइनरी स्ट्रिंग 101 है, और n =2, और i =3 है, तो पहले पुनरावृत्ति के बाद यह 100110 होगा, अगले पुनरावृत्ति में, यह 100101101001 होगा, इसलिए ith अनुक्रमणिका 1 धारण कर रही है।

इसे हल करने के लिए, हमें इन चरणों का पालन करना होगा -

  • लूप को n बार चलाएँ, और प्रत्येक पुनरावृत्ति में स्ट्रिंग पर एक और लूप चलाएँ
    • बाइनरी स्ट्रिंग के प्रत्येक वर्ण को कनवर्ट करें, और यदि वह 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++ में बाइनरी ट्री के पत्ते खोजें

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हम सभी पत्तियों को इकट्ठा करके हटा देंगे और पेड़ के खाली होने तक दोहराएंगे। तो, अगर इनपुट पसंद है तो आउटपुट [[4,5,3],[2],[1]] . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक नक्शा sz परिभाषित करें एक 2डी सरणी रेट परिभाषित करें फ़ंक्श

  1. C++ का उपयोग करके कोष्ठकों की एक स्ट्रिंग में एक समान बिंदु खोजें।

    यहां हम देखेंगे कि कोष्ठक की एक स्ट्रिंग में समान अंक कैसे प्राप्त करें। समान बिंदु सूचकांक I है, जैसे कि इसके पहले खुलने वाले कोष्ठकों की संख्या इसके बाद के समापन कोष्ठक की संख्या के बराबर है। मान लीजिए कि एक ब्रैकेट स्ट्रिंग (())) (() () ())) की तरह है, अगर हम करीब से देखते हैं, तो हम प्राप्त कर स

  1. सी ++ प्रोग्राम एक स्ट्रिंग में एक चरित्र की आवृत्ति का पता लगाने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। एक स्ट्रिंग में वर्णों की आवृत्ति एक स्ट्रिंग में होने की संख्या है। उदाहरण के लिए - String: Football is a sport The frequency of alphabet o in the above string is 3 किसी विशेष वर्ण की आवृत्ति ज्ञात करने का कार्यक्रम इ