কম্পিউটার

C++ প্রোগ্রাম দুটি সাজানো না করা অ্যারের মিলন এবং ছেদ খুঁজে বের করতে


এই প্রবন্ধে, আমরা দুটি সাজানো না করা অ্যারের মিলন এবং ছেদ খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব৷

'A' এবং 'B' দিয়ে দুটি অ্যারে বোঝাই। তারপর সেই অ্যারেগুলির মিলনকে A ∪ B দ্বারা চিহ্নিত করা হয় যা মূলত প্রদত্ত উভয় অ্যারের সমস্ত উপাদানের একটি অ্যারে; যদি প্রতিটি উপাদান শুধুমাত্র একবার পুনরাবৃত্তি করে।

এটি খুঁজে পেতে, আমরা একটি পৃথক অ্যারে তৈরি করব এবং প্রথম অ্যারে থেকে সমস্ত উপাদান কপি করব। তারপরে আমরা দ্বিতীয় অ্যারের উপাদানগুলির মধ্য দিয়ে অতিক্রম করব এবং এটি ইতিমধ্যেই ইউনিয়ন অ্যারেতে উপস্থিত আছে কিনা তা পরীক্ষা করব। যদি তা না হয়, তাহলে আমরা এটিকে ইউনিয়ন অ্যারেতে যোগ করব।

একইভাবে, দুটি অ্যারের ছেদকে A ∩ B দ্বারা চিহ্নিত করা হবে এটি উপাদানগুলির একটি অ্যারে যা প্রদত্ত অ্যারে উভয়েই উপস্থিত রয়েছে৷

এর জন্য, আমরা এক এক করে প্রথম অ্যারের উপাদানগুলির মধ্য দিয়ে অতিক্রম করব। একই সাথে আমরা সেই উপাদানটি দ্বিতীয় অ্যারেতে উপস্থিত আছে কিনা তা পরীক্ষা করব। যদি উপাদানটি উভয় অ্যারেতে উপস্থিত থাকে, তাহলে আমরা এটিকে একটি ইন্টারসেকশন অ্যারেতে যুক্ত করব।

উদাহরণ

#include <iostream>
using namespace std;
int main() {
   int len1 = 4, len2 = 3, flag1 = 0, flag2 = 0;
   int array1[len1] = {1,2,3,4}, array2[len2] = {5,3,4};
   int uni[len1+len2] = {1,2,3,4}, inter[len1];
   for(int k = 0; k < len2 ; k++) {
      flag1 = len1;
      for(int m = 0; m < len1; m++) {
         //eliminating common elements among the given arrays
         if(array2[k] == uni[m])
            break;
         else if(m == len1-1) {
            uni[flag1] = array2[k];
            flag1 = flag1+1;
         }
      }
   }
   for(int q = 0; q < len1; q++) {
      for(int w = 0; w < len2; w++) {
         //checking if both arrays contain a particular element
         if(array1[q] == array2[w]) {
            inter[flag2] = array1[q];
            flag2 = flag2+1;
            break;
         }
      }
   }
   cout << "Union :" <<endl;
   for(int u = 0; u < flag1; u++) {
      cout << uni[u] << " ";
   }
   cout << "\nIntersection :" <<endl;
   for(int i = 0; i < flag2; i++) {
      cout << inter[i] << " ";
   }
   return 0;
}

আউটপুট

Union :
1 2 3 4
Intersection :
3 4

  1. C++ এ দুটি লাইনের ছেদ বিন্দুর জন্য প্রোগ্রাম

  2. C++ প্রোগ্রাম বাইনারি অনুসন্ধান পদ্ধতি ব্যবহার করে দুটি সাজানো অ্যারের মধ্যমা খুঁজে বের করতে

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

  4. জাভা প্রোগ্রাম দুটি সাজানো বিন্যাস বিন্যাসের একটি সাজানো মার্জ অ্যারে তৈরি করতে