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

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

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

मान लीजिए कि पहली एरे ए में [4, 1, 2, 2, 1, 1] और बी के पास [3, 3, 6, 3] है, अब ए का योग 11 है और बी का योग 15 है, हम लेंगे एक जोड़ी जैसे (1, 3), यदि हम इन मानों को इन दो सरणियों के बीच स्वैप करते हैं, तो योग होगा:[4, 3, 2, 2, 1, 1] =13, [1, 3, 6, 3] =13, वे समान हैं।

इसे हल करने के लिए हम सरणी के माध्यम से पुनरावृति करेंगे और सभी जोड़े मानों की जांच करेंगे, नए योगों की तुलना करेंगे या उस अंतर के साथ किसी अन्य जोड़ी की तलाश करेंगे।

उदाहरण

#include<iostream>
using namespace std;
int arraySum(int arr[], int n) {
   int sum = 0;
   for (int i = 0; i < n; i++)
   sum += arr[i];
   return sum;
}
void getPair(int A[], int n, int B[], int m) {
   int sum_first = arraySum(A, n);
   int sum_second = arraySum(B, m);
   int newsum_first, newsum_second, first, second;
   for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
         newsum_first = sum_first - A[i] + B[j];
         newsum_second = sum_second - B[j] + A[i];
         if (newsum_first == newsum_second) {
            first = A[i];
            second = B[j];
         }
      }
   }
   cout << "(" << first << ", " << second << ")";
}
int main() {
   int A[] = { 4, 1, 2, 2, 1, 1 };
   int n = sizeof(A) / sizeof(A[0]);
   int B[] = { 3, 3, 6, 3 };
   int m = sizeof(B) / sizeof(B[0]);
   getPair(A, n, B, m);
}

आउटपुट

(1, 3)

  1. सी ++ में बार-बार घटाव के साथ सभी तत्वों को समान बनाने के बाद अधिकतम सरणी योग पाएं

    मान लीजिए कि हमारे पास n तत्वों की एक सरणी है। सभी तत्वों का अधिकतम संभव योग इस प्रकार ज्ञात कीजिए कि सभी तत्व समान हों। केवल संचालन जिसकी अनुमति है वह है किन्हीं दो तत्वों को चुनना और उनमें से बड़े को दो के पूर्ण अंतर से बदलना। मान लीजिए कि तत्व [9, 12, 3, 6] जैसे हैं। फिर आउटपुट 12 होगा। तो पहले ए

  1. सी ++ में एक सरणी में गैर-दोहराए जाने वाले (विशिष्ट) तत्वों का योग खोजें

    विचार करें कि हमारे पास कुछ तत्वों के साथ एक सरणी ए है। हमें सरणी में सभी अलग-अलग तत्वों का योग खोजना होगा। तो अगर ए =[5, 12, 63, 5, 33, 47, 12, 63], तो अलग-अलग तत्वों का योग 160 है। एक बार विचार करने के बाद डुप्लिकेट तत्वों को आसानी से अनदेखा कर दिया जाता है। हम इस समस्या को कुशलतापूर्वक हल करने क

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

    मान लीजिए, हमारे पास n संख्याओं की एक सरणी है। हमें सरणी में सभी तत्वों को खोजना होगा, जिनमें कम से कम दो बड़े तत्व हों। यदि सरणी A =[2, 8, 7, 1, 5] की तरह है, तो परिणाम [2, 1, 5] होगा। इसे हल करने के लिए, हम दूसरा अधिकतम तत्व ढूंढेंगे, फिर उन सभी तत्वों को प्रिंट करें जो दूसरे अधिकतम मान से कम या