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

ऐसे तत्वों की गणना करें जिनमें C++ में X से अधिक या उसके बराबर मान वाले बिल्कुल X तत्व हों

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

प्रत्येक तत्व के लिए सरणी में मौजूद उससे अधिक या उसके बराबर संख्याओं की संख्या बिल्कुल इसके बराबर होनी चाहिए। स्वयं तत्व को छोड़कर। यदि तत्व X है तो सरणी में ठीक X संख्याएँ होती हैं जो X से अधिक या बराबर होती हैं। (तत्व को छोड़कर)।

इनपुट

Arr[]= { 0,1,2,3,4,9,8 }

आउटपुट

Elements exactly greater than equal to itself : 1

स्पष्टीकरण − एलीमेंट और नंबर>=इसके लिए −

Arr[0]: 6 elements are >= 0 , 6!=0 count=0
Arr[1]: 5 elements are >= 1 , 5!=1 count=0
Arr[2]: 4 elements are >= 2 , 4!=2 count=0
Arr[3]: 3 elements are >= 3 , 3==3 count=1
Arr[4]: 2 elements are >= 4 , 2!=4 count=1
Arr[4]: 0 elements are >= 9 , 0!=9 count=1
Arr[6]: 1 element is >= 8 , 1!=8 count=1

3 ही एकमात्र ऐसा तत्व है जिससे ठीक 3 तत्व>=इसके लिए हैं (4,8,9)

इनपुट

Arr[]= { 1,1,1,1,1 }

आउटपुट

Elements exactly greater than equal to itself : 0

स्पष्टीकरण − सभी अवयव बराबर हैं और गिनते हैं!=1

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

  • पूर्णांक सरणी Arr[] का उपयोग पूर्णांकों को संग्रहीत करने के लिए किया जाता है।

  • पूर्णांक 'n' सरणी की लंबाई संग्रहीत करता है।

  • फ़ंक्शन खोजकाउंट (int arr [], int n) एक सरणी और उसके आकार को इनपुट के रूप में लेता है और पहले बताए गए X जैसे काउंटऑफ नंबर देता है।

  • वेरिएबल काउंट का उपयोग X जैसी संख्याओं की गिनती को स्टोर करने के लिए किया जाता है।

  • प्रारंभिक उत्तर =0, जो ऐसी संख्याओं की गणना करेगा।

  • लूप के लिए पहले तत्व (इंडेक्स =0) से शुरू होने वाले सरणी को पार करें।

  • प्रारंभिक तत्व से फिर से लूप ट्रैवर्स के अंदर, यदि कोई arr[j]>=arr[j] ऐसा है कि i!=j, गिनती बढ़ाएँ।

  • जे लूप के अंत के बाद, गिनती की तुलना गिरफ्तारी [i] से करें। अगर गिनती==arr[i] (बिल्कुल arr[i]elements>=arr[i] हैं, तो उत्तर 'ans' को बढ़ाएँ

  • दोनों के अंत के बाद लूप के लिए 'ans' में मौजूद परिणाम लौटाएं।

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;
int findcount(int arr[],int n){
   sort(arr,arr+n);
   int count=0;
   int ans=0;
   for(int i=0;i<n;i++){
      count=0;
      for(int j=0;j<n;j++){
         if(arr[j]>=arr[i] && i!=j)
            count++;
      }
      if(count==arr[i])
         ans++;
   }
   return ans;
}
int main(){
   int Arr[]= { 0,1,2,3,4,5,6 };
   int k=7;
   int n=sizeof(Arr)/sizeof(Arr[0]);
   std::cout<<"Elements exactly greater than equal to itself : "<<findcount(Arr,n);
   return 0;
}

आउटपुट

Elements exactly greater than equal to itself : 1

  1. सी++ में मैनहट्टन दूरी के बराबर दूरी वाले पथों की गणना करें

    हमें चर x1, x2, y1, y2 दिए गए हैं जो 2D निर्देशांक प्रणाली पर दो बिंदुओं का प्रतिनिधित्व करते हैं (x1, y1) और (x2, y2)। लक्ष्य उन सभी रास्तों को खोजना है जिनकी दूरी इन दो बिंदुओं के बीच मैनहट्टन की दूरी के बराबर होगी। मैनहट्टन दूरी मैनहट्टन दो बिंदुओं (x1, y1) और (x2, y2) के बीच की दूरी है - एमडी

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि

  1. किसी सरणी के तत्वों को तब तक जोड़ना जब तक कि प्रत्येक तत्व C++ में k से बड़ा या उसके बराबर न हो जाए।

    सरणी - एक सरणी एक ही डेटा प्रकार के तत्वों का एक कंटेनर होता है, जिसके तत्व 0 अनुक्रमित होते हैं। इस समस्या में, हम पूर्णांकों की एक सरणी का उपयोग करेंगे। और जांचें कि सभी तत्व दी गई संख्या से बड़े हैं या नहीं। यहां हम जांच करेंगे कि सरणी के सभी तत्व दिए गए संख्या k से बड़े या बराबर हैं या नहीं। यद