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

C++ में सरणी में उन सभी जोड़े (a,b) और (c,d) को खोजें जो ab = cd को संतुष्ट करते हैं


मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें दो जोड़े (a, b) और (c, d) चुनने हैं, जैसे कि ab = cd। मान लीजिए सरणी A = [3, 4, 7, 1, 2, 9, 8]। आउटपुट जोड़े हैं (4, 2) और (1, 8)। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

  • i := 0 से n-1 तक, करें
    • j := i + 1 से n-1 तक, करें
      • product = arr[i] * arr[j] प्राप्त करें
      • यदि product हैश टेबल में मौजूद नहीं है, तो Hash[product] := (i, j)
      • यदि product हैश टेबल में मौजूद है, तो पिछले और वर्तमान तत्वों को प्रिंट करें।

उदाहरण

#include <iostream> 
#include <unordered_map> 
using namespace std; 

void displayPairs(int arr[], int n) { 
    bool found = false; 
    unordered_map<int, pair < int, int > > Hash; 
    for (int i=0; i<n; i++) { 
        for (int j=i+1; j<n; j++) { 
            int prod = arr[i]*arr[j]; 
            if (Hash.find(prod) == Hash.end()) 
                Hash[prod] = make_pair(i,j); 
            else{ 
                pair<int,int> pp = Hash[prod]; 
                cout << "(" << arr[pp.first] << ", " << arr[pp.second] << ") and (" << arr[i]<<", "<<arr[j] << ")"<<endl; 
                found = true; 
            } 
        } 
    } 
    if (found == false) 
        cout << "No pairs have Found" << endl; 
} 

int main() { 
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8}; 
    int n = sizeof(arr)/sizeof(int); 
    displayPairs(arr, n); 
}

आउटपुट

(1, 6) and (2, 3) 
(1, 8) and (2, 4) 
(2, 6) and (3, 4) 
(3, 8) and (4, 6)

  1. - C++ में सरणी में स्थानीय न्यूनतम ज्ञात करें

    मान लीजिए हमारे पास n तत्वों की एक सरणी A है। हमें सरणी का स्थानीय न्यूनतम ढूंढना है। सरणी A में, तत्व A[x] को स्थानीय न्यूनतम कहा जाता है यदि यह अपने दोनों पड़ोसियों से कम या बराबर है। कोने के तत्वों के लिए केवल एक पड़ोसी माना जाएगा। और यदि एक से अधिक स्थानीय न्यूनतम उपलब्ध हैं, तो केवल एक वापस करे

  1. - C++ प्रोग्राम: वे तत्व ज्ञात करना जो पहली सरणी में हैं लेकिन दूसरी में नहीं

    मान लें हमारे पास दो सरणी A और B हैं। कुछ तत्व हैं। हमें वे तत्व ज्ञात करने हैं जो सेट A में मौजूद हैं, लेकिन सेट B में नहीं। यदि हम उस स्थिति के बारे में सोचते हैं, और A और B को सेट मानते हैं, तो यह मूल रूप से सेट विभाजन ऑपरेशन है। A और B के बीच सेट अंतर उन तत्वों को लौटाएगा। उदाहरण #include <i

  1. - C++ में सरणी में उन सभी जोड़े (a, b) को खोजें जैसे कि a % b = k

    मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें सभी जोड़े (a, b) प्राप्त करने हैं जैसे कि a%b = k। मान लीजिए सरणी A = [2, 3, 4, 5, 7], और k = 3, तो जोड़े हैं (7, 4), (3, 4), (3, 5), (3, 7)। इसे हल करने के लिए, हम सूची को पार करेंगे और जांचेंगे कि दी गई शर्त पूरी हो रही है या नहीं। उदाहरण #include