কম্পিউটার

C++ এ একটি সাজানো অ্যারেতে উপস্থিতির সংখ্যা (বা ফ্রিকোয়েন্সি) গণনা করুন


আমাদের পূর্ণসংখ্যার ধরণের উপাদানগুলির একটি সাজানো অ্যারে দেওয়া হয়েছে এবং সংখ্যাটি ধরা যাক, সংখ্যা এবং কাজটি হল প্রদত্ত উপাদান সংখ্যাটি অ্যারেতে কতবার উপস্থিত হচ্ছে তার সংখ্যা গণনা করা। .

ইনপুট − 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

  1. C++ ব্যবহার করে একটি অ্যারের মধ্যে একটি সংখ্যার ফ্রিকোয়েন্সি খুঁজুন।

  2. C++ এ রোটেটেড সর্টেড অ্যারেতে রোটেশন কাউন্ট খুঁজুন

  3. C++ এ একটি সাজানো অ্যারেতে পরম স্বতন্ত্র গণনা?

  4. একটি অ্যারেতে ইনভার্সন গণনা করার জন্য C++ প্রোগ্রাম