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

संतुलित कोष्ठकों के सभी संयोजनों को C++ में प्रिंट करें


इस समस्या में, हमें एक पूर्णांक n दिया जाता है। हमारा कार्य n संतुलित कोष्ठकों के सभी संभावित युग्मों को मुद्रित करना है।

संतुलित कोष्ठक कोष्ठक जोड़े हैं जिनमें प्रत्येक संबंधित उद्घाटन प्रतीक के लिए एक समापन प्रतीक होता है। साथ ही, जोड़े को ठीक से नेस्ट किया जाना चाहिए।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input: n = 2
Output: {}{} {{}}

इस समस्या को हल करने के लिए, हमें कोष्ठकों के युग्मों पर नज़र रखने की आवश्यकता है। कोष्ठकों की प्रारंभिक गणना 0 है। तब हम एक फ़ंक्शन को पुनरावर्ती रूप से तब तक करेंगे जब तक कि कुल ब्रैकेट की संख्या n से कम न हो। कोष्ठक गिनें, गिनती के आधार पर कोष्ठक के लिए पुनरावर्ती रूप से कॉल करें। यदि ओपनिंग ब्रैकेट काउंट क्लोजिंग से अधिक है, तो क्लोजिंग ब्रैकेट्स लगाएं और फिर जोड़ियों की शेष गिनती के लिए जाएं, अगर ओपनिंग ब्रैकेट n से कम है तो शेष ब्रैकेट जोड़े के लिए रिकर्सिवली कॉल करें।

उदाहरण

हमारे समाधान के कार्यान्वयन के साथ नीचे दिया गया कोड,

# include<iostream>
using namespace std;
# define MAX_COUNT 100
void printParenthesesPairs(int pos, int n, int open, int close){
   static char str[MAX_COUNT];
   if(close == n) {
      cout<<str<<endl;
      return;
   }
   else {
      if(open > close) {
         str[pos] = '}';
         printParenthesesPairs(pos+1, n, open, close+1);
      }
      if(open < n) {
         str[pos] = '{';
         printParenthesesPairs(pos+1, n, open+1, close);
      }
   }
}
int main() {
   int n = 3;
   cout<<"All parentheses pairs of length "<<n<<" are:\n";
   if(n > 0)
      printParenthesesPairs(0, n, 0, 0);
   getchar();
   return 0;
}

आउटपुट

All parentheses pairs of length 3 are −
{}{}{}
{}{{}}
{{}}{}
{{}{}}
{{{}}}

  1. स्ट्रिंग के सभी संयोजनों को लेक्सिकोग्राफिकल क्रम में C++ में प्रिंट करें

    इस समस्या में, हमें स्ट्रिंग स्ट्र दिया जाता है, और हमें वर्णों के सभी संयोजनों को एक लेक्सिकोग्राफ़िक क्रम में प्रिंट करना होता है। आइए समस्या को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं - Input: str = ‘XYZ’ Output : X XY XYZ XZ XZY Y YX YXZ YZ YZX Z ZX ZXY ZY ZYX इस समस्या को हल

  1. C++ में दिए गए योग के साथ सभी जोड़ियों को प्रिंट करें

    इस समस्या में, हमें पूर्णांकों की एक सरणी और एक पूर्णांक योग दिया जाता है और हमें पूर्णांकों के उन सभी युग्मों को प्रिंट करना होता है जिनका योग योग मान के बराबर होता है। समस्या को समझने के लिए एक उदाहरण लेते हैं: इनपुट − सरणी ={1, 6, -2, 3} योग =4 आउटपुट - (1, 3) , (6, -2) यहां, हमें दिए गए योग म

  1. C++ में एक स्ट्रिंग के सभी पैलिंड्रोम क्रमपरिवर्तन प्रिंट करें

    इस समस्या में, हमें एक स्ट्रिंग दी जाती है और हमें उन सभी पैलिंड्रोमिक क्रमपरिवर्तनों को प्रिंट करना होता है जो उस स्ट्रिंग के वर्णों से संभव होते हैं। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं - इनपुट − स्ट्रिंग =आब आउटपुट - अब्बा बाबा इस समस्या को हल करने के लिए हमें स्ट्रिंग के वर्णों को