কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: সেট তৈরির জন্য সব সাবসেট জোড়া জেনারেট করা


এটি একটি C++ প্রোগ্রাম যা সব সাবসেট জোড়া জেনারেট করে যাদের ইউনিয়ন(full union) মূল সেট তৈরি করে।

অ্যালগরিদম

শুরু
  ফাংশন UnionSet():
    আর্গুমেন্ট:
      a[] = একটি অ্যারে।
      n = এলিমেন্ট সংখ্যা।
    ফাংশনের বডি:
      1) 0 থেকে 2^(n-1)-1 পর্যন্ত বাইনারি কোড জেনারেট করুন সব 2^(n-1) জোড়ার জন্য।
      2) প্রতিটি কোডের জন্য কোড স্ট্রিং-এ 0 বা 1 থাকা সংশ্লিষ্ট ইনডেক্সের অ্যারে এলিমেন্ট প্রিন্ট করুন।
      3) সেগুলো আলাদা সেটে প্রিন্ট করুন যারা ইউনিয়ন করলে সুপার সেট তৈরি করে।
শেষ

উদাহরণ

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;

void display(char code[], int a[], int n) // জোড়াগুলো ডিসপ্লে
{
    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++ প্রোগ্রাম: ডেটা সেটে মোড (Mode) খুঁজে বের করা

  2. C++-এ প্রোগ্রামকে x মিলিসেকেন্ড স্লিপ করানো

  3. C++ প্রোগ্রাম: দেওয়া সেটের সব সাবসেট লেক্সিকোগ্রাফিক অর্ডারে জেনারেট করা

  4. জাভা প্রোগ্রাম: স্ট্রিং-এর সকল সাবসেট (Substring) বের করা