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

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 सरणी प्रिंट करें।

चौराहे

  • यादृच्छिक मानों के साथ दो सरणियों को प्रारंभ करें।

  • चौराहा_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. सी ++ में क्रमबद्ध क्रम में दो क्रमबद्ध सरणी विलय करना।

    समस्या कथन एक ऐसा फ़ंक्शन लिखें जो दो अवर्गीकृत सरणियों को लेता है और उन्हें क्रमबद्ध क्रम में एक नए सरणी में मिला देता है। arr1[] = {10, 5, 7, 2} arr2[] = {4, 17, 9, 3} result[] = {2, 3, 4, 5, 7, 9, 10, 17} एल्गोरिदम 1. Merge two unsorted array into new array 2. Sort newly create array उदाहरण #inc

  1. तत्वों की एक जोड़ी खोजें जो C++ में समान दो सरणियों का योग बनाता है

    विचार करें कि हमारे पास विभिन्न तत्वों के साथ दो सरणियाँ हैं। हमें तत्वों की एक जोड़ी (x, y) ढूंढनी है, जहां x पहली सरणी में मौजूद है, और y दूसरी सरणी में मौजूद है। जोड़ी को इस तरह चुना जाएगा कि इन दो सरणियों के बीच तत्वों की अदला-बदली के बाद, इन दो सरणियों का योग समान होगा। मान लीजिए कि पहली एरे ए

  1. C++ प्रोग्राम दो अवर्गीकृत सरणियों के मिलन और प्रतिच्छेदन को खोजने के लिए

    इस लेख में, हम दो दिए गए अक्रमित सरणियों के मिलन और प्रतिच्छेदन को खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। आइए हम दो सरणियों को ए और बी से निरूपित करें। फिर उन सरणियों के मिलन को A ∪ B . द्वारा दर्शाया जाता है जो मूल रूप से दिए गए दोनों सरणियों में सभी तत्वों की एक सरणी है; बशर्ते कि प्रत्येक त