কম্পিউটার টিউটোরিয়াল

C++-এ কাউন্টিং সোর্ট ব্যবহার করে মেডিয়ান ও মোড বের করা


বিবেচনা করুন আমাদের সাইজ n-এর একটি অ্যারে আছে, আমাদের কাউন্টিং সোর্ট টেকনিক ব্যবহার করে মেডিয়ান ও মোড বের করতে হবে। এই টেকনিক উপযোগী যখন অ্যারে এলিমেন্টগুলো লিমিটেড রেঞ্জে থাকে। ধরুন এলিমেন্টগুলো {1, 1, 1, 2, 7, 1}, তবে মোড ১, এবং মেডিয়ান ১.৫। মেডিয়ান এবং মোড কী তা নিচে দেওয়া হলো:

  • মেডিয়ান হলো সর্টেড লিস্টের মাঝপথের সংখ্যা।
  • মোড হলো সেই এলিমেন্ট যার ঘটনা সর্বাধিক।

মেডিয়ান ও মোড বের করতে নিচের ধাপগুলো অনুসরণ করতে হবে:

  • ইনপুট অ্যারের সাইজ n ধরা হয়েছে।
  • প্রিভিয়াস কাউন্ট সম করার আগে কাউন্ট অ্যারে নিন।
  • যে ইনডেক্সে সর্বোচ্চ ভ্যালু স্টোর করা আছে, সেটিই দেয়া ডেটার মোড।
  • যদি একাধিক সর্বোচ্চ উপাদান থাকে, তবে যেকোনো একটি নেওয়া যায়।
  • ভ্যালুটিকে mode নামে ভেরিয়েবলে স্টোর করুন।
  • নরমাল কাউন্ট সোর্ট প্রসেসিং চালিয়ে যান।
  • সর্টেড অ্যারেতে, যদি n বিজোড় হয়, তবে মেডিয়ান হলো মাঝপথের উপাদান, এবং যদি n জোড় হয়, তবে মাঝপথের দুটি উপাদান নিয়ে গড় বের করুন মেডিয়ান পেতে।
  • ভ্যালুটিকে median নামে ভেরিয়েবলে স্টোর করুন।

উদাহরণ

#include <iostream> using namespace std; bool isRepresentedInDDigits(int num, int d, int base) {    if (d==1 && num < base)       return true;    if (d > 1 && num >= base)       return isRepresentedInDDigits(num/base, --d, base);       return false; } bool checkNumber(int num, int d) {    // Check for all bases one by one    for (int base=2; base<=32; base++)    if (isRepresentedInDDigits(num, d, base))    return true;    return false; } int main() {    int num = 8;    int dig = 2;    if(checkNumber(num, dig))       cout << "Can be represented";    else       cout << "Can not be represented"; }

আউটপুট

Can be represented

  1. C++-এ ডিভাইড অ্যান্ড কঙ্কর ব্যবহার করে मैक्सিমাম সাবঅ্যারে সম বের করা

  2. C++ প্রোগ্রাম: র‍্যান্ডোমাইজেশন ব্যবহার করে কুইক সোর্ট বাস্তবায়ন

  3. C++ প্রোগ্রাম: কাউন্টিং সর্ট বাস্তবায়ন

  4. হিপ সর্ট অ্যালগরিদম ব্যবহার করে ১০ উপাদানের অ্যারে সর্ট করার C++ প্রোগ্রাম