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

C++ प्रोग्राम सब्सेट के सभी जोड़े उत्पन्न करने के लिए जिसका संघ सेट बनाता है

यह एक C++ प्रोग्राम है जो उपसमुच्चय के सभी जोड़े उत्पन्न करता है, जिनका संघ सेट बनाता है।

एल्गोरिदम

Begin
   function UnionSet():
   Arguments:
      a[] = an array.
      n = number of elements.
      Body of the function:
      1) Generate binary code from 0 to 2^(n-1)-1 for all 2^(n-1) pairs.
      2) Print the array element which has 0 or 1 in corresponding indexes in code string for each code.
      3) Print them in a different set, which on the union of both sets gives the super set.
End

उदाहरण

#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
void display(char code[], int a[], int n) //display the pairs
{
   int i;
   cout<<"\t{ ";
      for(i = 0; i < n; i++) {
         if(code[i] == '1')
            cout<<a[i]<<" ";
      }
   cout<<"}";
   cout<<" { ";
      for(i = 0; i < n; i++) {
         if(code[i] == '0')
            cout<<a[i]<<" ";
      }
   cout<<"}\n";
}
void UnionSet(int a[], int n) {
   int i, r, l;
   char binary[n];
   r = pow(2, n-1);
   for(i = 0; i < n; i++)
      binary[i] = '0';
   for(i = 0; i < r; i++) {
      display(binary, a, n);
      l=n-1;
      h:
      if(binary[l] == '0')
         binary[l] = '1';
      else {
         binary[l] = '0';
         l--;
         goto h;
      }
   }
}
int main() {
   int i, n;
   cout<<"\nEnter the number of elements: ";
   cin>>n;
   int a[n];
   cout<<"\n";
   for(i = 0; i < n; i++) {
      cout<<"Enter "<<i+1<<" element: ";
      cin>>a[i];
   }
   cout<<"\nThe possible subset pairs which on union generates the superset, are: \n";
   UnionSet(a, n);
   return 0;
}

आउटपुट

Enter the number of elements: 4
Enter 1 element: 4
Enter 2 element: 3
Enter 3 element: 2
Enter 4 element: 1
The possible subset pairs which on union generates the superset, are:
{ } { 4 3 2 1 }
{ 1 } { 4 3 2 }
{ 2 } { 4 3 1 }
{ 2 1 } { 4 3 }
{ 3 } { 4 2 1 }
{ 3 1 } { 4 2 }
{ 3 2 } { 4 1 }
{ 3 2 1 } { 4 }

  1. C++ में x मिलीसेकंड के लिए प्रोग्राम को कैसे सुलाएं?

    यहां हम देखेंगे कि C++ प्रोग्राम में x (उपयोगकर्ता द्वारा दिया गया) मिलीसेकंड के लिए कैसे सोना है। ऐसा करने के लिए हम विभिन्न पुस्तकालयों का उपयोग कर सकते हैं। लेकिन यहां हम घड़ी () फ़ंक्शन का उपयोग कर रहे हैं। घड़ी () वर्तमान सीपीयू समय लौटाएगी। यहां हम घड़ी से अंतिम समय और दिए गए x मान को खोजने क

  1. लेक्सिको ग्राफिक ऑर्डर में दिए गए सेट के सभी सबसेट उत्पन्न करने के लिए सी ++ प्रोग्राम

    यह लेक्सिको ग्राफिक ऑर्डर में दिए गए सेट के सभी सबसेट उत्पन्न करने के लिए सी ++ प्रोग्राम है। यह एल्गोरिथम सरणी के दिए गए सेट से प्रत्येक लंबाई के सभी संभावित संयोजनों को बढ़ते क्रम में प्रिंट करता है। इस एल्गोरिथम की समय जटिलता O(n*(2^n)) है। एल्गोरिदम Begin    For each length ‘i&rs

  1. जावा प्रोग्राम एक स्ट्रिंग के सभी सबसेट को खोजने के लिए

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