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

C++ में दिए गए सबअरे में दी गई संख्या से कम या उसके बराबर तत्वों की संख्या

आपको एक नंबर और सबअरे लोअर और अपर बाउंड इंडेक्स दिए गए हैं। आपको ऐसे कई तत्वों की गणना करने की आवश्यकता है जो दी गई संख्या से कम या उसके बराबर हों। आइए एक उदाहरण देखें।

इनपुट

arr = [1, 2, 3, 4, 5, 6, 7, 8]
k = 4
lower = 0
upper = 5

आउटपुट

4

सूचकांक 0 और 5 के बीच 4 तत्व हैं जो 4 से कम या उसके बराबर हैं।

एल्गोरिदम

  • ऐरे, नंबर और सबएरे इंडेक्स को इनिशियलाइज़ करें।

  • गिनती को 0 से प्रारंभ करें।

  • एक लूप लिखें जो सबएरे के निचले इंडेक्स से सबएरे के ऊपरी इंडेक्स तक पुनरावृत्त हो।

    • यदि वर्तमान तत्व दी गई संख्या से कम या उसके बराबर है, तो गिनती बढ़ाएँ।

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

कार्यान्वयन

C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है

#include <bits/stdc++.h>
using namespace std;
int getElementsCount(int arr[], int n, int lower, int upper, int k) {
   if (lower < 0 || upper >= n || lower > upper) {
      return 0;
   }
   int count = 0;
   for (int i = lower; i <= upper; i++) {
      if (arr[i] <= k) {
         count += 1;
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
   int n = 8, k = 4;
   cout << getElementsCount(arr, n, 0, 3, k) << endl;
   cout << getElementsCount(arr, n, 4, 7, k) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

4
0

  1. C++ में k से कम या उसके बराबर सभी तत्वों को एक साथ लाने के लिए आवश्यक न्यूनतम स्वैप

    समस्या कथन n धनात्मक पूर्णांकों और एक संख्या k की एक सरणी को देखते हुए। k से कम या उसके बराबर सभी संख्याओं को एक साथ लाने के लिए आवश्यक स्वैप की न्यूनतम संख्या ज्ञात कीजिए। उदाहरण यदि इनपुट ऐरे ={1, 5, 4, 7, 2, 10} और k =6 है तो 1 स्वैप की आवश्यकता है अर्थात 2 के साथ तत्व 7 को स्वैप करें। एल्गोरिद

  1. ऐसे तत्वों की अधिकतम संख्या ज्ञात कीजिए जिनका निरपेक्ष अंतर C++ में 1 से कम या बराबर हो

    मान लीजिए कि हमारे पास n तत्वों की एक सरणी है। हमें सरणी से चयन करने के लिए तत्वों की अधिकतम संख्या का पता लगाना है, जैसे कि चुने हुए तत्वों में से किन्हीं दो के बीच पूर्ण अंतर 1 से कम या बराबर है। इसलिए यदि सरणी [2, 2, 3, 4, की तरह है, 5], तो तत्व 3 होगा, इसलिए अधिकतम गिनती वाला क्रम 2, 2, 3 है। 0

  1. C++ में दिए गए नंबर से कम या उसके बराबर सबसे बड़ा स्पेशल प्राइम खोजें

    मान लीजिए कि हमारे पास एक संख्या n है। हमें सबसे बड़ा विशेष अभाज्य ज्ञात करना है जो N से कम या उसके बराबर है। विशेष अभाज्य एक संख्या है, जिसे एक के बाद एक अंक रखकर बनाया जा सकता है, इसलिए सभी परिणामी संख्याएँ अभाज्य होती हैं। यहां हम Sieve Of Eratosthenes का उपयोग करेंगे। हम n संख्या तक चलनी सरणी ब