আমাদের পূর্ণসংখ্যার ধরণের উপাদানগুলির একটি সাজানো অ্যারে দেওয়া হয়েছে এবং সংখ্যাটি ধরা যাক, সংখ্যা এবং কাজটি হল প্রদত্ত উপাদান সংখ্যাটি অ্যারেতে কতবার উপস্থিত হচ্ছে তার সংখ্যা গণনা করা। .
ইনপুট − int arr[] ={1, 1, 1,2, 3, 4}, num =1
আউটপুট − একটি সাজানো অ্যারেতে সংঘটনের সংখ্যা (বা ফ্রিকোয়েন্সি) হল −3
ইনপুট − int arr[] ={2, 3, 4, 5, 5, 6, -7}, num =5
আউটপুট − একটি সাজানো অ্যারেতে সংঘটনের সংখ্যা (বা ফ্রিকোয়েন্সি) হল − 2
ইনপুট − int arr[] ={-1, 0, 1, 2, 3}, num =7
আউটপুট − একটি সাজানো অ্যারেতে সংঘটনের সংখ্যা (বা ফ্রিকোয়েন্সি) হল − 0
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
উপরের সমস্যা সমাধানের জন্য একাধিক পন্থা অবলম্বন করা যেতে পারে।
সরল পন্থা
-
ধনাত্মক এবং ঋণাত্মক উভয় সংখ্যা ধারণকারী পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে ঘোষণা করুন এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল সংখ্যা যার মধ্যে আমাদের একটি অ্যারেতে ফ্রিকোয়েন্সি খুঁজে বের করতে হবে৷
-
একটি অ্যারের আকার গণনা করুন এবং আরও প্রক্রিয়াকরণের জন্য সমস্ত ডেটা ফাংশনে প্রেরণ করুন৷
-
ভেরিয়েবল সংখ্যা কতবার প্রদর্শিত হচ্ছে তার সংখ্যা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা ঘোষণা করুন
-
একটি অ্যারের আকার পর্যন্ত i থেকে 0 পর্যন্ত লুপ শুরু করুন
-
লুপের ভিতরে, IF num =arr[i] চেক করুন তারপর গণনার মান 1 দ্বারা বৃদ্ধি করুন
-
গণনা ফেরত দিন
-
ফলাফল প্রিন্ট করুন।
দক্ষ পদ্ধতি
-
ধনাত্মক এবং ঋণাত্মক উভয় সংখ্যা ধারণকারী পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে ঘোষণা করুন এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল সংখ্যা যার মধ্যে আমাদের একটি অ্যারেতে ফ্রিকোয়েন্সি খুঁজে বের করতে হবে৷
-
একটি অ্যারের আকার গণনা করুন এবং আরও প্রক্রিয়াকরণের জন্য সমস্ত ডেটা ফাংশনে প্রেরণ করুন৷
-
ভেরিয়েবল সংখ্যা কতবার প্রদর্শিত হচ্ছে তার সংখ্যা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা ঘোষণা করুন
-
প্রথমে একটি পয়েন্টার সেট করুন নিম্ন_বাউন্ড(arr, arr+size, num)
-
প্রথমে IF চেক করুন =(arr + size) || (*first !=num) তারপর 0
ফেরত দিন -
শেষ পয়েন্টারকে upper_bound (first, arr+size, num) হিসেবে সেট করুন
-
শেষ হিসাবে গণনা সেট করুন - প্রথম
-
রিটার্ন গণনা
-
প্রিন্ট ফলাফল
উদাহরণ (নিষ্পাপ পদ্ধতি)
#include <iostream> using namespace std; int frequency_count(int arr[], int num, int size){ int count = 0; for(int i=0; i<size; i++){ if(num==arr[i]){ count++; } } return count; } int main(){ int arr[] = {1, 1, 1,2, 3, 4}; int num = 1; int size = sizeof(arr)/sizeof(arr[0]); cout<<"Count of number of occurrences (or frequency) in a sorted array are: "<<frequency_count(arr, num, size); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of number of occurrences (or frequency) in a sorted array are: 3
উদাহরণ (দক্ষ পদ্ধতি)
# include <bits/stdc++.h> using namespace std; int frequency_count(int arr[], int num, int size){ int *first = lower_bound(arr, arr+size, num); if (first == (arr + size) || *first != num){ cout<<"The Element is not present in an array "; return 0; } int count = 0; int *last = upper_bound(first, arr+size, num); count = last - first; return count; } int main(){ int arr[] = {1, 1, 1, 2, 3, 4}; int num = 1; int size = sizeof(arr)/sizeof(arr[0]); cout<<"Count of number of occurrences (or frequency) in a sorted array are: "<<frequency_count(arr, num, size); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of number of occurrences (or frequency) in a sorted array are: 3