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

दो सरणियों से जोड़े की गणना करें जिनके मोडुलो ऑपरेशन से C++ में K उत्पन्न होता है

हमें दो सरणियाँ दी गई हैं जिनमें धनात्मक संख्याएँ और एक मान K है। लक्ष्य सरणियों के तत्वों के अद्वितीय जोड़े को खोजना है जैसे कि प्रकार के जोड़े (A,B) में A%B=K या B%A=K है और A संबंधित है पहली सरणी और B दूसरी सरणी से संबंधित है।

आइए उदाहरणों के साथ समझते हैं

इनपुट - arr_1[] ={1,2,5,3,4}; arr_2[] ={7,1,3}; k=2

आउटपुट − दो सरणियों से युग्मों की संख्या जिनके मोडुलो ऑपरेशन से K प्राप्त होता है − 2

स्पष्टीकरण - जोड़े हैं (5,7) - (arr_1[2],arr_2[1]) 7%5=2 और (5,3) - (arr_1[2],arr_2[2]) 5%3=2

इनपुट - arr_1[] ={2,5}; arr_2[] ={3,7}; k=1

आउटपुट − दो सरणियों से युग्मों की संख्या जिनके मोडुलो ऑपरेशन से K प्राप्त होता है − 2

स्पष्टीकरण - जोड़े हैं (2,3) - (arr_1[0],arr_2[0]) 3%2=1 और (2,7) - (arr_1[0],arr_2[1]) 7%2=1

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

इस दृष्टिकोण में हम लूप का उपयोग करके दोनों सरणियों को पार करेंगे। सेट करने के लिए जोड़े डालें> se जिसमें A%B=k या B%A=k, जहां A arr_1 से संबंधित है और B arr_2 से संबंधित है। सेट से के अंतिम आकार में दो सरणियों से अद्वितीय जोड़े की संख्या होती है, जिनके मॉड्यूलो ऑपरेशन से k होता है।

  • पूर्णांक सरणी arr_1[] और arr_2[] सकारात्मक तत्वों और लंबाई के साथ size_arr_1 और size_arr_2 लें।

  • पूर्णांक k लें।

  • फ़ंक्शन modulo_pairs (int arr_1 [], int arr_2 [], int size_arr_1, int size_arr_2, int k) दोनों सरणियों और उनकी लंबाई को लेता है और जोड़े को इस तरह लौटाता है कि दोनों सरणियों के तत्वों का मॉड्यूलो ऑपरेशन k उत्पन्न करता है।

  • गिनती का प्रारंभिक मान 0 के रूप में लें।

  • सेट करें<जोड़ी> se; जोड़े की .

  • arr_1[] को i=0 से i

  • प्रत्येक जोड़ी के लिए arr_1[i], arr_2[j], जांचें कि क्या arr_1[i]>arr_2[j]. यदि हाँ जाँचें कि क्या arr_1[i]%arr_2[j]==k. अगर सही है तो arr_1[i] और arr_2[j] की एक जोड़ी बनाएं और सेट करने के लिए डालें.

  • और जांचें कि क्या arr_2[j]%arr_1[i]==k. अगर सही है तो arr_1[i] और arr_2[j] की एक जोड़ी बनाएं और सेट करने के लिए डालें.

  • गणना की गणना se.size () के रूप में करें। अद्वितीय जोड़ियों की संख्या के लिए।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int modulo_pairs(int arr_1[], int arr_2[], int size_arr_1, int size_arr_2, int k){
   int count = 0;
   set<pair<int, int> > se;
   for (int i = 0; i < size_arr_2; i++){
      for (int j = 0; j < size_arr_1; j++){
         if (arr_1[i] > arr_2[j]){
            if (arr_1[i] % arr_2[j] == k){
               se.insert(make_pair(arr_1[i], arr_2[j]));
            }
         }
         else{
            if (arr_2[j] % arr_1[i] == k){
               se.insert(make_pair(arr_2[j], arr_1[i]));
            }
         }
      }
   }
   count = se.size();
   return count;
}
int main(){
   int arr_1[] = { 2, 7, 1, 9 };
   int arr_2[] = { 4, 10, 3, 10 };
   int size_arr_1 = sizeof(arr_1) / sizeof(arr_1[0]);
   int size_arr_2 = sizeof(arr_2) / sizeof(arr_2[0]);
   int k = 3;
   cout<<"Count of pairs from two arrays whose modulo operation yields K are:"<<modulo_pairs(arr_1, arr_2, size_arr_1, size_arr_2, k);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of pairs from two arrays whose modulo operation yields K are: 2

  1. C++ में दो क्रमबद्ध सरणी का K-वें तत्व

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दो सॉर्ट किए गए एरे के मर्ज किए गए ऐरे से k-th एलिमेंट ढूंढता है। आइए समस्या को हल करने के लिए चरणों को देखें। दो क्रमबद्ध सरणियों को प्रारंभ करें। m + n आकार की एक खाली सरणी प्रारंभ करें। दो सरणियों को नई सरणी में मिलाएँ। मर्ज किए गए सरणी से

  1. C++ प्रोग्राम में क्रम में दो सरणियों से तत्वों को चुनकर अधिकतम योग

    इस समस्या में, हमें दो सरणियाँ arr1[] और arr2[], और दो संख्याएँN और M दी जाती हैं। N, arr1 से लिए गए तत्वों की संख्या देता है। M arr2 से लिए गए तत्वों की संख्या देता है। हमें arr1[i] से arr2[i] में से किसी एक तत्व का चयन करना होगा, जिसके लिए योग को अधिकतम बनाता है, लेकिन अधिकतम N को arr1 और M से

  1. दो बीएसटी से जोड़े की गणना करें जिनकी राशि सी ++ में दिए गए मान x के बराबर है

    हमें इनपुट के रूप में दो बाइनरी सर्च ट्री और एक वेरिएबल x दिया गया है। लक्ष्य प्रत्येक पेड़ से नोड्स के जोड़े को ढूंढना है ताकि नोड्स के मूल्य का योग x के बराबर हो। BST_1 से नोड 1 और BST_2 से नोड 2 लें और दोनों का डेटा भाग जोड़ें। यदि योग =x. वेतन वृद्धि की संख्या। आइए उदाहरणों से समझते हैं। इनपुट