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

एक सरणी में जोड़े की गणना करें जो i*arr[i]> j*arr[j] को C++ में रखता है

हमें संख्याओं की एक सरणी दी गई है। लक्ष्य सरणी के तत्वों की जोड़ी को ढूंढना है जैसे कि वे शर्त रखते हैं

अगर (i*arr[i]> j*arr[j]) तो (arr[i],arr[j]) एक मान्य जोड़ी है।

अगर सरणी [5,4,3,2,1] है तो जोड़े [3,1] और [2,1] होंगे।

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

इनपुट - गिरफ्तार [] =[ 1,5,4,1,2,8,3 ]

आउटपुट − i*arr[i]> j*arr[j] रखने वाली सरणी में युग्मों की संख्या − 3

है

स्पष्टीकरण - जोड़े हैं (5,1), (4,1), (8,3)

इनपुट - एआर [] =[ -1,-2,3,4,5,6 ]

आउटपुट − i*arr[i]> j*arr[j] रखने वाली सरणी में युग्मों की संख्या है - 1

स्पष्टीकरण - जोड़ी है (-1,-2)

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

हम लूप के लिए दो बार उपयोग करके 1 से N तक जाएंगे। प्रत्येक i और arr[i] के लिए j और arr[j] खोजें, ऐसी स्थिति i*arr[i]>j*arr[j] (और i!=j). अगर शर्त सही है तो वेतन वृद्धि की गणना करें।

  • पूर्णांकों की एक सरणी लें।

  • Function condition_pair(int arr[], int size) सरणी और उसके आकार को लेता है और जोड़े की गिनती देता है जैसे कि शर्त पूरी होती है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • i=1 से i . तक ट्रैवर्स करें

  • j=i+1 से j<आकार तक के ट्रैवर्स।

  • अगर (i*arr[i] )> ( j*arr[j] ) सच है। वेतन वृद्धि की संख्या।

  • प्रत्येक i और j के लिए temp=(i*j)%(i+j) की गणना करें।

  • दोनों पुनरावृत्तियों के अंत के बाद, गिनती में ऐसे जोड़े की कुल संख्या होगी।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <iostream>
using namespace std;
int condition_pair(int arr[], int size){
   int count = 0;
   for (int i = 0; i < size - 1; i++){
      for (int j = i + 1; j < size; j++){
         if(i*arr[i] > j*arr[j]){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = { 2, 4, 1, 9, 6 };
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count of pairs in an array that hold i*arr[i] > j*arr[j] are: "<<condition_pair(arr, size);
   return 0;
}

आउटपुट

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

Count of pairs in an array that hold i*arr[i] > j*arr[j] are: 2

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

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

  1. एक सरणी में जोड़े (x, y) की संख्या पाएं जैसे कि x^y> y^x C++ . में

    y^x, जहाँ x, X का एक अवयव है और y, Y का एक अवयव है। मान लीजिए X =[2, 1, 6], और Y =[1, 5] , तो आउटपुट 3 होगा। चूंकि तीन जोड़े हैं, ये हैं (2, 1), (2, 5) और (6, 1) y^x कुछ अपवादों के साथ। तो यह है ट्रिक। सरणी Y को क्रमबद्ध करें X में प्रत्येक अवयव x के लिए, हमें Y में x से बड़ी सबसे छोटी संख्या

  1. सी++ प्रोग्राम एक ऐरे में व्युत्क्रम की गणना करने के लिए

    काउंट इनवर्जन का अर्थ है किसी सरणी को सॉर्ट करने के लिए आवश्यक स्विच की संख्या। उलटा गिनती =0, जब सरणी को क्रमबद्ध किया जाता है। उलटा गिनती =अधिकतम, जब सरणी को उल्टे क्रम में क्रमबद्ध किया जाता है। आइए एक सरणी में उलटा गिनने के लिए एक C++ प्रोग्राम विकसित करें। एल्गोरिदम Begin    Function