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

C++ में सम और विषम राशियों के साथ क्रमित युग्मों की संख्या गिनें


हमें n धनात्मक संख्याओं की एक सरणी दी गई है। लक्ष्य क्रमित जोड़े (arr[x], arr[y]) को arr[x] और arr के योग के साथ गिनना है। [y] सम या विषम है। जोड़ी (arr[i],arr[j] ) और (arr[j],arr[i] को अलग से गिना जाता है।

हम प्रत्येक जोड़े की संख्या के लिए दो for लूप का उपयोग करके सरणी को पार करेंगे। अब योग की गणना करें, यदि यह सम राशि के लिए 2 से वृद्धि की गणना है और विषम राशियों के लिए 2 से वृद्धि की गणना है।

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

इनपुट - अर []={ 1,1,2,3 } एन=4

आउटपुट − सम उत्पाद योगों की संख्या − 6 विषम योग युग्मों की संख्या − 6

स्पष्टीकरण − मान्य विषम योग युग्म हैं -

Arr[0] & Arr[1] → (1,1) Arr[1] & Arr[0] → (1,1) count=2
Arr[0] & Arr[3] → (1,3) Arr[3] & Arr[0] → (3,1) count=2
Arr[1] & Arr[3] → (1,3) Arr[3] & Arr[1] → (3,1) count=2 Total=6
Valid even sum pairs are:
Arr[0] & Arr[2] → (1,2) Arr[2] & Arr[0] → (2,1) count=2
Arr[1] & Arr[2] → (1,2) Arr[2] & Arr[1] → (2,1) count=2
Arr[2] & Arr[3] → (2,3) Arr[3] & Arr[2] → (3,2) count=2 Total=6

इनपुट - अर []={ 2,2,2 } एन=3

आउटपुट − सम योग युग्मों की संख्या − 6 विषम योग युग्मों की संख्या − 0

स्पष्टीकरण − मान्य सम उत्पाद जोड़े हैं −

Arr[0] & Arr[1] → (2,2) Arr[1] & Arr[0] → (2,2) count=2
Arr[1] & Arr[2] → (2,2) Arr[2] & Arr[1] → (2,2) count=2
Arr[2] & Arr[3] → (2,2) Arr[3] & Arr[2] → (2,2) count=2 Total=6
No odd sum as all elements are even.

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

  • हम एक पूर्णांक सरणी लेते हैं arr[] यादृच्छिक संख्याओं के साथ आरंभ किया गया।

  • एक वैरिएबल n लें जो Arr[] की लंबाई को स्टोर करता है।

  • फंक्शन काउंटपेयर्स(int arr[], int n) एक सरणी लेता है, इसकी लंबाई इनपुट के रूप में और सम और विषम राशियों के साथ जोड़े की गिनती को प्रिंट करता है।

  • जोड़ी के प्रत्येक तत्व के लिए लूप के लिए दो का उपयोग करके ट्रैवर्स सरणी।

  • 0<=i

  • जांचें कि क्या गिरफ्तारी [i] + गिरफ्तारी [जे]% 2 ==0 है। arr[i],arr[j] और arr[j],arr[i] के रूप में सम योग युग्मों की संख्या 2 से गिनने के लिए वृद्धि गणना1 दो जोड़े होंगे।

  • यदि उपरोक्त शर्त विषम योग युग्मों के लिए 2 से झूठी वृद्धि गणना 2 है।

  • सभी लूपों के अंत में गिनती 1 में जोड़े की कुल संख्या होगी जिसमें योग भी होगा और गिनती 2 में विषम योग वाले जोड़े की कुल संख्या होगी

  • परिणाम के रूप में count1 और count2 प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void countPairs(int arr[], int n){
   int count1=0; //even sum pairs
   int count2=0; //odd sum pairs
   int sum=0;
   for(int i=0;i<n-1;i++){
      for(int j=i+1;j<n;j++){
         sum=arr[i]+arr[j];
         if(sum%2==0) //sum is even
            { count1+=2; } //(a,b) and (b,a) as two pairs
         else
            { count2+=2; }
      }
   }
   cout<<"Even Sum pairs: "<<count1;
   cout<<endl<<"Odd Sum pairs: "<<count2;
}
int main(){
   int arr[] = { 1,2,3,2 };
   int n = sizeof(arr) / sizeof(int);
   countPairs(arr, n);
   return 0;
}

आउटपुट

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

Even Sum pairs: 4
Odd Sum pairs: 8

  1. C++ में एक पूर्णांक में सम और विषम अंकों की गणना करें

    हमें एक पूर्णांक संख्या दी गई है और कार्य सम संख्याओं और विषम संख्याओं को एक अंक में गिनना है। साथ ही, हम यह भी जांचते रहेंगे कि क्या किसी पूर्णांक में सम अंक सम संख्या में आ रहे हैं और पूर्णांक में विषम अंक विषम संख्या में बार-बार आ रहे हैं। उदाहरण के लिए Input − digit = 12345 Output −

  1. C++ में किसी सरणी में सम और विषम तत्वों की संख्या गिनें

    इस ट्यूटोरियल में, हम किसी सरणी में सम और विषम तत्वों की संख्या ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा काम दिए गए सरणी में सम और विषम तत्वों की संख्या की गणना करना है। उदाहरण #include<iostream> using namespace std; void CountingEvenOdd(int

  1. C++ में विषम और सम संख्या वाले सभी स्तरों को प्रिंट करें

    इस समस्या में हमें एक पेड़ दिया जाता है। और हमें सभी स्तरों को सम संख्या में नोड्स और विषम संख्या में नोड्स के साथ प्रिंट करना होगा। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं आउटपुट - Levels with odd number of nodes: 1, 3, 4 Levels with even number of nodes: 2 स्पष्टीकरण - पह