আমাদের একটি ইন্টিজার অ্যারে দেওয়া আছে। লক্ষ্য হলো সেই এলিমেন্টগুলো কাউন্ট করা যারা নিচের শর্ত পূরণ করে: একটি এলিমেন্ট X হলে, অ্যারেতে ঠিক X সংখ্যক এলিমেন্ট থাকবে যা X-এর চেয়ে বড় বা সমান (নিজস্ব বাদ দিয়ে)।
ইনপুট
Arr[]= { 0,1,2,3,4,9,8 }
আউটপুট
Elements exactly greater than equal to itself : 1
ব্যাখ্যা: ৩-র জন্য ৩টি এলিমেন্ট (৪,৮,৯) >=3। বাকিগুলো সন্তুষ্ট করে না।
ইনপুট
Arr[]= { 1,1,1,1,1 }
আউটপুট
Elements exactly greater than equal to itself : 0
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- findcount(int arr[], int n) ফাংশন।
- অ্যারে সর্ট করা।
- প্রতিটি i এর জন্য j=0 to n-1 লুপে arr[j] >= arr[i] && i!=j হলে count++।
- যদি count == arr[i] হলে ans++।
- ans রিটার্ন।
উদাহরণ কোড
#include <iostream>
#include <algorithm>
using namespace std;
int findcount(int arr[], int n){
sort(arr, arr+n);
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 n = sizeof(Arr)/sizeof(Arr[0]);
cout << "Elements exactly greater than equal to itself : " << findcount(Arr, n);
return 0;
}
আউটপুট
Elements exactly greater than equal to itself : 1