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

C++-তে অনসর্টেড অ্যারের মিন (Mean) এবং মেডিয়ান (Median) বের করা


একটি অনসর্টেড অ্যারে দেওয়া আছে। এর মিন (গড়) এবং মেডিয়ান (মধ্যমান) বের করতে হবে।

মিন (Mean) বের করার নিয়ম

মিন = (সব এলিমেন্টের যোগফল) / (এলিমেন্টের মোট সংখ্যা)

মেডিয়ান (Median) বের করার নিয়ম

যদি অ্যারে সর্টেড থাকে:

  • অড্ড সংখ্যক এলিমেন্ট হলে মিডল এলিমেন্টই মেডিয়ান।
  • ইভেন সংখ্যক এলিমেন্ট হলে দুটি মিডল এলিমেন্টের গড়।
যদি অনসর্টেড থাকে, তবে আগে সর্ট করতে হবে।

ইনপুট − arr[] = {3,5,2,1,7,8}

আউটপুট − Mean: 4.33333, Median: 4

ইনপুট − arr[] = {1,3,4,2,6,5,8,7}

আউটপুট − Mean: 4.5, Median: 4.5

অ্যালগরিদম

Start
function mean(arr, size)
  sum = 0
  for i=0 to size-1: sum += arr[i]
  return (double)sum/size

function median(arr, size)
  sort(arr, arr+size)
  if size%2 != 0: return arr[size/2]
  else: return (arr[(size-1)/2] + arr[size/2])/2.0
Stop

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

double mean(int arr[], int size) {
    int sum = 0;
    for (int i = 0; i < size; i++) sum += arr[i];
    return (double)sum / size;
}

double median(int arr[], int size) {
    sort(arr, arr + size);
    if (size % 2 != 0) return (double)arr[size/2];
    return (double)(arr[(size-1)/2] + arr[size/2]) / 2.0;
}

int main() {
    int arr[] = {3,5,2,1,7,8};
    int size = sizeof(arr)/sizeof(arr[0]);
    cout << "Mean is: " << mean(arr, size) << endl;
    cout << "Median is: " << median(arr, size) << endl;
    return 0;
}

আউটপুট

Mean is: 4.33333
Median is: 4
  1. C প্রোগ্রাম: অ্যারে-এর উপাদানগুলোর গুণফল (Product) বের করা

  2. C++-তে মিন এব্সোলিউট ডেভিয়েশন (Mean Absolute Deviation) বের করা

  3. C++ প্রোগ্রাম: অ্যারে উপাদানগুলোর গুণফল বের করা

  4. C++ প্রোগ্রাম: অ্যারেতে ইনভার্শন কাউন্ট করা