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

C++-তে ওয়েটেড মিন (Weighted Mean) বের করা


একটি প্রাকৃতিক সংখ্যা অ্যারে এবং অন্য একটি অ্যারে ওই সংখ্যাগুলোর ওয়েট (weight) দেওয়া আছে। টাস্ক হলো ওয়েটেড মিন বের করা।

ফর্মুলা:

x̄ = Σ(x_i * w_i) / Σ(w_i)

যেখানে x = প্রাকৃতিক সংখ্যা, w = সংশ্লিষ্ট ওয়েট।

ইনপুট

X[] = {11, 22, 43, 34, 25, 16}
W[] = {12, 12, 43, 54, 75, 16}

আউটপুট − weighted mean is: 29.3019

ব্যাখ্যা − (11×12 + 22×12 + 43×43 + 34×54 + 25×75 + 16×16) / (12+12+43+54+75+16)

ইনপুট

X[] = {3,4,5,6,7}
W[] = {4,5,6,7,8}

আউটপুট − weighted mean is: 5.33333

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • দুটি অ্যারে X[] এবং W[] ইনপুট নিন।
  • ফর্মুলা অনুযায়ী ওয়েটেড মিন ক্যালকুলেট করুন।
  • ফলাফল প্রিন্ট করুন।

অ্যালগরিদম

Start
function weightedmean(X, W, size)
  sum = 0, weight = 0
  for i=0 to size-1
    weight += X[i]*W[i]
    sum += W[i]
  return (float)weight/sum
Stop

উদাহরণ

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

float weightedmean(int X[], int W[], int size) {
    int sum = 0, weight = 0;
    for (int i = 0; i < size; i++) {
        weight += X[i] * W[i];
        sum += W[i];
    }
    return (float)weight / sum;
}

int main() {
    int X[] = {11, 22, 43, 34, 25, 16};
    int W[] = {12, 12, 43, 54, 75, 16};
    int size_X = sizeof(X)/sizeof(X[0]);
    int size_W = sizeof(W)/sizeof(W[0]);
    if (size_X == size_W)
        cout << "weighted mean is: " << weightedmean(X, W, size_X);
    else
        cout << "-1";
    return 0;
}

আউটপুট

weighted mean is: 29.3019
  1. C প্রোগ্রাম: প্রথম n প্রাকৃতিক সংখ্যার ঘনফলের যোগফল

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

  3. বাইসেকশন মেথড (Bisection Method) C++ প্রোগ্রাম

  4. C++-এ প্রথম n প্রাকৃতিক সংখ্যার বর্গের যোগফল (Sum of Squares)