हमें पूर्णांकों की एक सरणी दी गई है। लक्ष्य सरणी में उन तत्वों की संख्या ढूंढना है जो निम्नलिखित शर्त को संतुष्ट करते हैं:
प्रत्येक तत्व के लिए सरणी में उससे बड़े या बराबर संख्याओं की संख्या ठीक उसके बराबर होनी चाहिए। तत्व को छोड़कर। यदि तत्व X है तो सरणी में ठीक X संख्याएं हैं जो X से बड़ी या बराबर हैं। (तत्व को छोड़कर)।
इनपुट
Arr[]= { 0,1,2,3,4,9,8 } आउटपुट
तत्व ठीक खुद से बड़े या बराबर: 1
व्याख्या: तत्व और संख्याएं >= इसके:
Arr[0]: 6 तत्व >= 0 हैं, 6!=0 count=0 Arr[1]: 5 तत्व >= 1 हैं, 5!=1 count=0 Arr[2]: 4 तत्व >= 2 हैं, 4!=2 count=0 Arr[3]: 3 तत्व >= 3 हैं, 3==3 count=1 Arr[4]: 2 तत्व >= 4 हैं, 2!=4 count=1 Arr[4]: 0 तत्व >= 9 हैं, 0!=9 count=1 Arr[6]: 1 तत्व >= 8 है, 1!=8 count=1
3 एकमात्र तत्व है जैसे कि ठीक 3 तत्व इससे >= हैं (4,8,9)
इनपुट
Arr[]= { 1,1,1,1,1 } आउटपुट
तत्व ठीक खुद से बड़े या बराबर: 0
व्याख्या: सभी तत्व समान हैं और count !=1
प्रयुक्त दृष्टिकोण
- पूर्णांक सरणी Arr[] पूर्णांकों को संग्रहीत करती है।
- पूर्णांक 'n' सरणी की लंबाई संग्रहीत करता है।
- फ़ंक्शन findcount(int arr[],int n) एक सरणी और इसके आकार को इनपुट के रूप में लेता है और पहले बताई गई X जैसी संख्याओं की संख्या लौटाता है।
- चर count का उपयोग X जैसी संख्याओं की संख्या संग्रहीत करने के लिए किया जाता है।
- ans=0 आरंभ करें, जो ऐसी संख्याओं की गणना करेगा।
- for लूप का उपयोग करके पहले तत्व (इंडेक्स=0) से सरणी को पार करें।
- for लूप के अंदर फिर से शुरुआती तत्व से पार करें, यदि कोई arr[j]>=arr[j] जैसे कि i!=j, तो count बढ़ाएं।
- j लूप के अंत में, count की तुलना arr[i] से करें। यदि count==arr[i] (ठीक arr[i] तत्व >=arr[i] हैं), तो उत्तर 'ans' बढ़ाएं।
- दोनों for लूप के अंत में '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=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<<"तत्व ठीक खुद से बड़े या बराबर: "<<findcount(Arr,n); return 0; } आउटपुट
तत्व ठीक खुद से बड़े या बराबर: 1