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

सी ++ प्रोग्राम एन मान्य ब्रैकेट अनुक्रम खोजने के लिए

मान लीजिए कि हमारे पास एक संख्या n है। जैसा कि हम जानते हैं, एक ब्रैकेट अनुक्रम एक स्ट्रिंग है जिसमें केवल "(" और ")" वर्ण होते हैं। एक वैध ब्रैकेट अनुक्रम एक ब्रैकेट अनुक्रम है जिसे अनुक्रम के मूल वर्णों के बीच "1" और "+" वर्ण सम्मिलित करके सही अंकगणितीय अभिव्यक्ति में परिवर्तित किया जा सकता है। इसलिए, यदि एक ब्रैकेट अनुक्रम "() ()" जैसा है तो यह मान्य है क्योंकि हम 1 की तरह "(1) + (1)" डाल सकते हैं। संख्या n से, हमें लंबाई 2n के बिल्कुल n भिन्न संभावित मान्य कोष्ठक अनुक्रम खोजने होंगे।

इसलिए, यदि इनपुट n =4 जैसा है, तो आउटपुट ["()()()()", "(())()()", "((())) ()" होगा। "(((())))"]

कदम

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

for initialize k := 1, when k <= n, update (increase k by 1), do:
   for initialize i := 1, when i <= k, update (increase i by 1), do:
      print "("
   for initialize i := 1, when i <= k, update (increase i by 1), do:
      print ")"
   for initialize i := k + 1, when i <= n, update (increase i by 1), do:
      print "()"
   go to next line

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

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

void solve(int n) {
   for (int k = 1; k <= n; k++) {
      for (int i = 1; i <= k; i++)
         cout << "(";
      for (int i = 1; i <= k; i++)
         cout << ")";
      for (int i = k + 1; i <= n; i++)
         cout << "()";
      cout << endl;
   }
}
int main() {
   int n = 4;
   solve(n);
}

इनपुट

4

आउटपुट

()()()()
(())()()
((()))()
(((())))

  1. C++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, जो एक रेखा के आरंभ और अंत बिंदु हैं। हमारा काम C++ में एक लाइन के मध्य-बिंदु को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहाँ, हमारे पास एक रेखा है जिसमें शुरुआती और अंत बिंदु A(x1, y1) और B(x2, y2) हैं। और हमें रेखा के मध्य-बिंदु को खोजन

  1. C++ में त्रिभुज के केंद्रक को खोजने का कार्यक्रम

    इस समस्या में, हमें एक 2D सरणी दी गई है जो त्रिभुज के तीन शीर्षों के निर्देशांकों को दर्शाती है। हमारा काम C++ में त्रिभुज के Centroid को खोजने के लिए एक प्रोग्राम बनाना है। सेंट्रोइड त्रिभुज का वह बिंदु है जिस पर त्रिभुज की तीन माध्यिकाएं प्रतिच्छेद करती हैं। माध्यिका त्रिभुज की वह रेखा है जो त्र

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें दो मान दिए गए हैं जो समांतर चतुर्भुज के आधार और ऊंचाई को दर्शाते हैं। हमारा कार्य C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने के लिए एक प्रोग्राम बनाना है। समांतर चतुर्भुज एक चार भुजा बंद आकृति है जिसकी विपरीत भुजाएँ एक दूसरे के समान और समानांतर हैं। समस्या को समझने के लि