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

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

इस लेख में, हम दो दिए गए अक्रमित सरणियों के मिलन और प्रतिच्छेदन को खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे।

आइए हम दो सरणियों को 'ए' और 'बी' से निरूपित करें। फिर उन सरणियों के मिलन को 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. सी++ में दो लाइनों के चौराहे के बिंदु के लिए कार्यक्रम

    रेखा AB के संगत बिंदु A और B दिए गए हैं और रेखा PQ के संगत बिंदु P और Q दिए गए हैं; कार्य इन दो पंक्तियों के बीच प्रतिच्छेदन बिंदु को खोजना है। नोट - X और Y निर्देशांकों पर 2D समतल में अंक दिए गए हैं। यहाँ A(a1, a2), B(b1, b2) और C(c1, c2), D(d1, d2) निर्देशांक हैं जो दो अलग-अलग रेखाएँ बना रहे ह

  1. सी ++ प्रोग्राम एक ऐरे का सबसे बड़ा तत्व खोजने के लिए

    एक सरणी में कई तत्व होते हैं और एक सरणी में सबसे बड़ा तत्व वह होता है जो अन्य तत्वों से बड़ा होता है। उदाहरण के लिए। 5 1 7 2 4 उपरोक्त सरणी में, 7 सबसे बड़ा तत्व है और यह इंडेक्स 2 पर है। किसी सरणी के सबसे बड़े तत्व को खोजने का प्रोग्राम इस प्रकार दिया गया है। उदाहरण #include <iostream> u

  1. जावा प्रोग्राम दो अवर्गीकृत सरणियों की एक क्रमबद्ध मर्ज की गई सरणी बनाने के लिए

    दो अक्रमित सरणियों का एक क्रमबद्ध मर्ज किया गया सरणी बनाने के लिए, पहले हम दो अवर्गीकृत सरणियाँ बनाते हैं- int[] arr1 =new int[] {50, 22, 15, 40, 65, 75};int[] arr2 =new int[] {60, 45, 10, 20, 35, 56}; आइए अब एक नया परिणामी सरणी बनाते हैं, जिसमें मर्ज किया गया सरणी होगा− उदाहरण int count1 =arr1.len