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

सरणी में i*arr[i] > j*arr[j] शर्त वाले जोड़ों की गणना - C++

समस्या विवरण

हमें एक संख्या सरणी दी गई है। लक्ष्य उन जोड़ों (i,j) की गणना करना है जहाँ i*arr[i] > j*arr[j] और i < j।

उदाहरण

इनपुट: arr[] = [1,5,4,1,2,8,3]

आउटपुट: 3

व्याख्या: जोड़े: (5,1), (4,1), (8,3) — इंडेक्स-मान गुणनफल के आधार पर

इनपुट: arr[] = [-1,-2,3,4,5,6]

आउटपुट: 1

व्याख्या: जोड़ा: (-1,-2)

दृष्टिकोण

दो नेस्टेड लूप: i=0 से size-2 और j=i+1 से size-1। यदि i*arr[i] > j*arr[j] तो गणना बढ़ाएँ।

एल्गोरिदम

  1. प्रारंभिक count = 0
  2. i = 0 से size-2 तक:
    • j = i+1 से size-1 तक:
      • यदि i*arr[i] > j*arr[j] तो count++
    • count लौटाएँ

C++ कार्यान्वयन

#include <bits/stdc++.h>
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: " << condition_pair(arr, size);
    return 0;
}

आउटपुट

Count: 2
  1. - C++ में सॉर्टेड बाइनरी ऐरे में 1s गिनें

    इस ट्यूटोरियल में, हम सॉर्टेड बाइनरी ऐरे में 1s खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें केवल 1 और 0 वाला एक ऐरे प्रदान किया जाएगा। हमारा कार्य ऐरे में मौजूद 1s की संख्या गिनना है।उदाहरण#include <bits/stdc++.h> using namespace std; //1 की गिनती लौटाना int countOnes(bool arr[], i

  1. - C++ में सरणी में उन जोड़ों (x, y) की संख्या ज्ञात करें जहाँ x^y > y^x

    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 में उस सबसे छोटी संख्या का सूचकांक ढूंढना होगा ज

  1. - C++ प्रोग्राम: सरणी में इनवर्जन गिनें

    परिचयइनवर्जन काउंट का अर्थ है सरणी को सॉर्ट करने के लिए आवश्यक स्वैप की संख्या। यदि सरणी सॉर्टेड है तो इनवर्जन काउंट = 0। यदि सरणी रिवर्स ऑर्डर में सॉर्टेड है तो इनवर्जन काउंट = अधिकतम।एल्गोरिदम a[j] तो काउंट 1 बढ़ाएं। अंत में काउंट लौटाएं।उदाहरण कोड#include <iostream> using namespace std; in