हमें पूर्णांकों की एक सरणी दी गई है। लक्ष्य सरणी में तत्वों की संख्या का पता लगाना है जो निम्नलिखित शर्तों को पूरा करते हैं -
प्रत्येक तत्व के लिए सरणी में मौजूद उससे अधिक या उसके बराबर संख्याओं की संख्या बिल्कुल इसके बराबर होनी चाहिए। स्वयं तत्व को छोड़कर। यदि तत्व 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