কম্পিউটার

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_result নামে একটি খালি অ্যারে তৈরি করুন৷

  • প্রথম অ্যারের উপর পুনরাবৃত্তি করুন এবং এতে প্রতিটি উপাদান যোগ করুন।

  • বিভাগ অ্যারের উপর পুনরাবৃত্তি করুন এবং উপাদান যোগ করুন যদি এটি union_result অ্যারেতে উপস্থিত না থাকে।

  • union_result অ্যারে প্রিন্ট করুন।

ছেদন

  • এলোমেলো মান সহ দুটি অ্যারে শুরু করুন।

  • 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++ প্রোগ্রাম দুটি সাজানো না করা অ্যারের মিলন এবং ছেদ খুঁজে বের করতে