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

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

हमें पूर्णांक प्रकार के तत्वों की एक क्रमबद्ध सरणी और एक पूर्णांक चर x दिया जाता है और कार्य दिए गए सरणी से जोड़े बनाना और जोड़ी में तत्वों के योग की गणना करना और जांचना है कि गणना की गई राशि x से कम है या नहीं।

इनपुट - int arr[] ={2, 7, 1, 0, 8}, int x =8

आउटपुट − एक क्रमबद्ध सरणी में जोड़े की संख्या जिनका योग x से कम है − 4

. है

स्पष्टीकरण - दिए गए सरणी से बनने वाले जोड़े हैं:(2, 7) =9 (x से बड़ा), (2, 1) =3 (x से कम), (2, 0) =2 (x से कम) ), (2, 8) =10 (x से बड़ा), (7, 1) =8 (x के बराबर), (7, 0) =7 (x से कम), (7, 8) =15 (बड़ा) x से), (1, 0) =1 (x से कम), (1, 8) =8 (x के बराबर), (0, 8) =8 (x के बराबर)। अतः x से कम योग वाले युग्म (4, 0) और (2, 2) हैं। तो, x से कम योग वाले युग्मों की संख्या 4 है।

इनपुट - int arr[] ={2, 4, 6, 8}, int x =10

आउटपुट − एक क्रमबद्ध सरणी में जोड़े की संख्या जिसका योग x से कम है − 2

. है

स्पष्टीकरण - दिए गए सरणी से बनने वाले जोड़े हैं:(2, 4) =6 (x से कम), (2, 6) =8 (x से कम), (2, 8) =10 (x के बराबर) ), (4, 6) =10 (x के बराबर), (4, 8) =12 (x से बड़ा), (6, 8) =14 (x से बड़ा)। तो, x से कम योग वाले युग्मों की संख्या 2 है।

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

दी गई समस्या को हल करने के लिए कई दृष्टिकोण हो सकते हैं, अर्थात् सरल दृष्टिकोण और कुशल दृष्टिकोण। तो आइए सबसे पहले भोले दृष्टिकोण . को देखें ।

  • पूर्णांक तत्वों की एक सरणी इनपुट करें और एक सरणी के आकार की गणना करें और डेटा को फ़ंक्शन में पास करें

  • x से कम योग वाले युग्मों की संख्या को संग्रहीत करने के लिए एक अस्थायी चर गणना की घोषणा करें।

  • एक सरणी के आकार तक i से 0 तक के लिए लूप प्रारंभ करें

  • लूप के अंदर, एक और लूप फॉर जे से i + 1 तक एक ऐरे के आकार तक शुरू करें

  • लूप के अंदर arr[i] + arr[j] के रूप में योग की गणना करें और IF sum

  • गिनती वापस करें

  • प्रिंट परिणाम।

कुशल तरीका

  • पूर्णांक तत्वों की एक सरणी इनपुट करें और एक सरणी के आकार की गणना करें और डेटा को फ़ंक्शन में पास करें

  • x से कम योग वाले युग्मों की संख्या को संग्रहीत करने के लिए एक अस्थायी चर गणना की घोषणा करें।

  • arr_0 को 0 के रूप में और arr_1 को आकार-1 के रूप में सेट करें

  • arr_0 से arr_1 तक के लिए लूप प्रारंभ करें_1

  • लूप के अंदर, IF arr[arr_0] + arr[arr_1]

  • गिनती वापस करें

  • परिणाम प्रिंट करें।

उदाहरण (बेवकूफ दृष्टिकोण)

#include <iostream>
using namespace std;
int pair_sum(int arr[], int size, int x){
   int count = 0;
   int sum = 0;
   for(int i = 0 ;i <size ; i++){
      for(int j = i+1; j<size; j++){
         sum = arr[i] + arr[j];
         if(sum < x){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {2, 7, 1, 0, 8};
   int size = sizeof(arr) / sizeof(arr[0]);
   int x = 8;
   cout<<"Count of pairs in a sorted array whose sum is less than x are: "<<pair_sum(arr, size, x);
   return 0;
}

आउटपुट

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

Count of pairs in a sorted array whose sum is less than x are: 4

उदाहरण (कुशल दृष्टिकोण)

#include <iostream>
using namespace std;
int pair_sum(int arr[], int size, int x){
   int arr_0 = 0;
   int arr_1 = size-1;
   int count = 0;
   while(arr_0 < arr_1){
      if (arr[arr_0] + arr[arr_1] < x){
         count = count + (arr_1 - arr_0);
         arr_0++;
      }
      else{
         arr_1--;
      }
   }
   return count;
}
int main(){
   int arr[] = {2, 7, 1, 0, 8};
   int size = sizeof(arr) / sizeof(arr[0]);
   int x = 8;
   cout<<"Count of pairs in a sorted array whose sum is less than x are: "<<pair_sum(arr, size, x);
   return 0;
}

आउटपुट

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

Count of pairs in a sorted array whose sum is less than x are: 4

  1. सी ++ में एक सरणी में विभाज्य जोड़े की गणना करें

    हमें पूर्णांक तत्वों वाले किसी भी आकार की एक सरणी दी गई है और कार्य एक सरणी में जोड़े की गणना की गणना करना है जैसे कि एक जोड़ी का एक तत्व एक जोड़ी के दूसरे तत्व को विभाजित करता है। एक प्रकार की डेटा संरचना को व्यवस्थित करता है जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्

  1. सी ++ में क्रमबद्ध बाइनरी सरणी में 1 की गणना करें

    इस ट्यूटोरियल में, हम एक क्रमबद्ध बाइनरी एरे में 1 को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें केवल 1 और 0 वाली एक सरणी प्रदान की जाएगी। हमारा कार्य सरणी में मौजूद 1 की संख्या को गिनना है। उदाहरण #include <bits/stdc++.h> using namespace std; //returning the count of 1 int coun

  1. सी ++ में एक क्रमबद्ध सरणी में पूर्ण विशिष्ट गणना?

    एक सरणी एक ही डेटा प्रकार के तत्वों का एक संग्रह है। एक क्रमबद्ध सरणी एक सरणी है जिसमें तत्वों को आरोही या अवरोही क्रम में संग्रहीत किया जाता है। विशिष्ट गणना उन तत्वों की संख्या है जो समान नहीं हैं। एब्सोल्यूट डिफरेंट काउंट तत्वों के निरपेक्ष मान की अलग गिनती है यानी बिना चिह्न वाले तत्व (अहस्ताक