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

सी ++ में दी गई शर्तों को संतुष्ट करने वाले सरणी में मान्य जोड़े की गणना करें

हमें एन तत्वों की एक सरणी गिरफ्तारी [] के साथ दिया गया है। लक्ष्य सभी मान्य जोड़े (Arr[i],Arr[j]) की गिनती का पता लगाना है जो कुछ शर्तों का पालन करते हैं। जोड़े Arr[i],Arr[j] अमान्य अगर -

  • अरे[i]==Arr[j]
  • Arr[i]+Arr[j] सम है
  • i+j<120

नोट - Arr[i],Arr[j] और Arr[j],Arr[i] को एक जोड़ी के रूप में गिना जाएगा। मान्य जोड़ी में i!=j . है आइए उदाहरणों से समझते हैं।

इनपुट

Arr[]= { 3,2,1,2,4,3 } N=4

आउटपुट

Count of valid pairs: 2

स्पष्टीकरण

मान्य जोड़े हैं -

Arr[0] & Arr[4] → (3,3) here Arr[i]==Arr[j] & 3+3 is even also i!=j and i+j<120
Arr[1] & Arr[3] → (2,2) here Arr[i]==Arr[j] & 2+2 is even also i!=j and i+j<120
है

इनपुट

Arr[]= { 1,2,3,4,5,6 } N=6

आउटपुट

Count of valid pairs: 0

स्पष्टीकरण

तत्वों की कोई पुनरावृत्ति नहीं। कोई जोड़ी प्रकार ( a,a ) संभव नहीं है जहां i!=j.

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

  • हम एक पूर्णांक सरणी लेते हैं Arr[] यादृच्छिक संख्याओं के साथ आरंभ किया गया।
  • एक वेरिएबल n लें जो Arr[] की लंबाई को स्टोर करता है।
  • Function countPairs(int arr[], int n) एक सरणी लेता है, इसकी लंबाई इनपुट के रूप में और जो जोड़े मान्य हैं और वांछित शर्तों को पूरा करते हैं।
  • जोड़ी के प्रत्येक तत्व के लिए दो for लूप का उपयोग करके ट्रैवर्स सरणी।
  • 0 से बाहरी लूप<=i
  • गिरफ्तारी के योग की गणना करें[i], arr[j] assum=(arr[i]+aar[j]).
  • यह जांचने के लिए कि कोई जोड़ा वैध है या नहीं। तुलना करें अगर i!=j और sum%2==0 भी i+j<120.
  • अब जांचें कि क्या गिरफ्तार [i] ==गिरफ्तारी [जे]। वेतन वृद्धि की संख्या.
  • सभी लूपों के अंत में गिनती में जोड़े की कुल संख्या होगी जो मान्य हैं
  • परिणाम के रूप में गिनती लौटाएं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int countPairs(int arr[], int n){
   int count=0;
   for(int i=0;i<n;i++){
      for(int j=i+1;j<n;j++) //j=i+1 we don't have to check i!=j{
         int sum=arr[i]+arr[j];
         //valid pairs have i!=j
         if( sum%2==0 && i+j<120){
            if( arr[i]==arr[j] ) //valid pair{
               count++;
               cout<<endl<<" a:"<<arr[i]<<"b: "<<arr[j];
            }
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {1,2,3,2,4,1,4 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout <<endl<<"Valid pairs in array:"<<countPairs(arr, n);
   return 0;
}

आउटपुट

Valid pairs in array:
a:1b: 1
a:2b: 2
a:4b: 43

  1. सी ++ में ग्रिड में दी गई दिशा में संभावित चालों की गणना करें

    हम दो चर n और m हैं जो n x m आकार के ग्रिड का प्रतिनिधित्व करते हैं और प्रारंभिक बिंदु x, y से शुरू करते हैं। कदमों/चालों के जोड़े भी दिए गए हैं जिन्हें चाल ((1,1), (2,2)) आदि के रूप में ग्रिड के अंदर ले जाया जा सकता है। चालों की प्रत्येक जोड़ी x,y अक्ष में उठाए गए कदमों की इकाई का प्रतिनिधित्व करत

  1. एक सरणी के सभी युग्मों की गणना करें जो C++ में K बिट्स में भिन्न हैं

    इस ट्यूटोरियल में, हम एक प्रोग्राम के बारे में चर्चा करेंगे जो एक सरणी के जोड़े की संख्या को खोजने के लिए है जो K बिट्स में भिन्न है। इसके लिए हमें एक सरणी और एक पूर्णांक K प्रदान किया जाएगा। हमारा कार्य उन जोड़ों की संख्या ज्ञात करना है जो अपने बाइनरी प्रतिनिधित्व में K बिट्स से भिन्न होते हैं। उद

  1. सी ++ में घुमाए गए क्रमबद्ध सरणी में घूर्णन गणना खोजें

    विचार करें कि हमारे पास एक सरणी है, जो क्रमबद्ध सरणी घुमाई गई है। हमें सरणी को सॉर्ट करने के लिए आवश्यक घुमावों की संख्या का पता लगाना होगा। (हम दाएं से बाएं घुमाने पर विचार करेंगे।) मान लीजिए कि सरणी इस प्रकार है:{15, 17, 1, 2, 6, 11}, तो हमें सरणी को क्रमबद्ध करने के लिए दो बार घुमाना होगा। अंतिम