इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो दो दिए गए अनसॉर्टेड एरे का यूनियन और इंटरसेक्शन ज्ञात करता है।
आइए दो एरे को '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++) {
// दिए गए एरे के बीच सामान्य तत्वों को हटाना
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++) {
// जांचना कि क्या दोनों एरे में एक विशेष तत्व है
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