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

C++-এ দুটি আনসোর্টেড অ্যারেয়ের ইউনিয়ন এবং ইন্টারসেকশন বের করা

এই টিউটোরিয়ালে, আমরা শিখব কিভাবে দুটি আনসোর্টেড অ্যারেয়ের ইউনিয়ন এবং ইন্টারসেকশন বের করার প্রোগ্রাম লিখতে হয়। একটি উদাহরণ দেখি।

ইনপুট

arr_one = [1, 2, 3, 4, 5]
arr_two = [3, 4, 5, 6, 7]

আউটপুট

union: 1 2 3 4 5 6 7
intersection: 3 4 5

সমস্যাটি সমাধানের ধাপগুলো:

ইউনিয়ন (Union)

  • দুই অ্যারে র‍্যান্ডম ভ্যালু দিয়ে ইনিশিয়ালাইজ করুন।
  • একটি খালি অ্যারে union_result তৈরি করুন।
  • প্রথম অ্যারেতে ইটারেট করুন এবং প্রতিটি এলিমেন্ট যোগ করুন।
  • দ্বিতীয় অ্যারেতে ইটারেট করুন এবং এলিমেন্ট যোগ করুন যদি union_result-এ না থাকে।
  • union_result অ্যারে প্রিন্ট করুন।

ইন্টারসেকশন (Intersection)

  • দুই অ্যারে র‍্যান্ডম ভ্যালু দিয়ে ইনিশিয়ালাইজ করুন।
  • একটি খালি অ্যারে intersection_result তৈরি করুন।
  • প্রথম অ্যারেতে ইটারেট করুন এবং এলিমেন্ট যোগ করুন যদি সেটি দ্বিতীয় অ্যারেতে থাকে।
  • intersection_result অ্যারে প্রিন্ট করুন।

উদাহরণ

নিচে কোডটি দেখুন

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

int isElementPresentInArray(int arr[], int arr_length, int element) {
    for (int i = 0; i < arr_length; ++i) {
        if (arr[i] == element) {
            return true;
        }
    }
    return false;
}

void findUnionAndIntersection(int arr_one[], int arr_one_length, int arr_two[], int arr_two_length) {
    // union
    int union_result[arr_one_length + arr_two_length] = {};
    for (int i = 0; i < arr_one_length; ++i) {
        union_result[i] = arr_one[i];
    }
    int union_index = arr_one_length;
    for (int i = 0; i < arr_two_length; ++i) {
        if (!isElementPresentInArray(arr_one, arr_one_length, arr_two[i])) {
            union_result[union_index++] = arr_two[i];
        }
    }
    cout << "Union: ";
    for (int i = 0; i < union_index; ++i) {
        cout << union_result[i] << " ";
    }
    cout << endl;
    // intersection
    int intersection_result[arr_one_length + arr_two_length] = {};
    int intersection_index = 0;
    for (int i = 0; i < arr_one_length; ++i) {
        if (isElementPresentInArray(arr_two, arr_two_length, arr_two[i])) {
            intersection_result[intersection_index++] = arr_one[i];
        }
    }
    cout << "Intersection: ";
    for (int i = 0; i < intersection_index; ++i) {
        cout << intersection_result[i] << " ";
    }
    cout << endl;
}

int main() {
    int arr_one[] = {1, 2, 3, 4, 5};
    int arr_two[] = {3, 4, 5, 6, 7};
    findUnionAndIntersection(arr_one, 5, arr_two, 5);
    return 0;
}

আউটপুট

Union: 1 2 3 4 5 6 7 Intersection: 1 2 3 4 5

উপসংহার

টিউটোরিয়ালে যদি কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।

  1. C++ ব্যবহার করে দুটি সর্টেড অ্যারে মার্জ করা

  2. C++ ব্যবহার করে দুটি অনসর্টেড অ্যারে সর্টেড অর্ডারে মার্জ করা

  3. দুই অ্যারেতে উপাদান বদলিয়ে যোগফল সমান করার জোড়া খুঁজে বের করা C++-এ

  4. C++ প্রোগ্রাম: আনসোর্টেড দুটি অ্যারের ইউনিয়ন ও ইন্টারসেকশন