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

সি++-এ দুটি অ্যারে থেকে র‍্যান্ডম পেয়ার ম্যাক্সিমাম ওজনযুক্ত পেয়ার হবার প্রোবাবিলিটি


দুটি অ্যারে দেওয়া আছে। একটি র‍্যান্ডম পেয়ার (প্রথম অ্যারের একটি উপাদান, দ্বিতীয় অ্যারের একটি উপাদান) ম্যাক্সিমাম ওজনযুক্ত পেয়ার হবার প্রোবাবিলিটি বের করতে হবে।

ইনপুট

arr1[] = {2, 23}, arr2[] = {10, 3, 8}

আউটপুট

probability of maximum pair: 0.166667

ব্যাখ্যা — সম্ভাব্য পেয়ারগুলো: (2,10), (2,3), (2,8), (23,10), (23,3), (23,8)। ম্যাক্সিমাম = (23,8)। প্রোবাবিলিটি = 1/6।

পদ্ধতি

  • দুই অ্যারের ম্যাক্সিমাম মান ও তাদের ফ্রিকোয়েন্সি বের করুন।
  • ম্যাক্সিমাম পেয়ার সংখ্যা = count1 × count2।
  • মোট পেয়ার = size1 × size2।
  • প্রোবাবিলিটি = (count1 × count2) / (size1 × size2)।

এলগরিদম

Start
Step 1 → double max_pair(int arr1[], int arr2[], int size1, int size2)
    int max1 = INT_MIN, count1 = 0
    for i in arr1: update max1, count1
    int max2 = INT_MIN, count2 = 0
    for i in arr2: update max2, count2
    return (double)(count1 * count2) / (size1 * size2)
Step 2 → main(): অ্যারে ঘোষণা, max_pair() কল
Stop

উদাহরণ কোড

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

double max_pair(int arr1[], int arr2[], int size1, int size2){
    int max1 = INT_MIN, count1 = 0;
    for (int i = 0; i < size1; i++){
        if (arr1[i] > max1){ max1 = arr1[i]; count1 = 1; }
        else if (arr1[i] == max1) count1++;
    }
    int max2 = INT_MIN, count2 = 0;
    for (int i = 0; i < size2; i++){
        if (arr2[i] > max2){ max2 = arr2[i]; count2 = 1; }
        else if (arr2[i] == max2) count2++;
    }
    return (double)(count1 * count2) / (size1 * size2);
}

int main(){
    int arr1[] = {2, 23};
    int arr2[] = {10, 3, 8};
    int size1 = sizeof(arr1)/sizeof(arr1[0]);
    int size2 = sizeof(arr2)/sizeof(arr2[0]);
    cout << "Probability: " << max_pair(arr1, arr2, size1, size2);
    return 0;
}

আউটপুট

probability of maximum pair in both the arrays are 0.166667

  1. C++-এ The Maze III সমস্যা সমাধান

  2. দেওয়া পার্থক্যের সাথে একটি জোড়া খুঁজে বের করা C++-এ

  3. C++-এ অ্যারেতে সর্বোচ্চ GCD वाली পেয়ার বের করা

  4. সি++ প্রোগ্রাম: গ্রাফের ম্যাক্সিমাম কাট (Maximum Cut) বের করা