কম্পিউটার

এলোমেলো জোড়া C++ এ সর্বাধিক ওজনযুক্ত জোড়া হওয়ার সম্ভাবনা


দুটি ভিন্ন অ্যারে দিয়ে দেওয়া হয়েছে এবং কাজটি হল সর্বাধিক ওজনযুক্ত জোড়া হিসেবে বেছে নেওয়া এলোমেলো জোড়ার সম্ভাব্যতা খুঁজে বের করা৷

একটি পেয়ারে একটি এলিমেন্ট থাকবে চলুন বলা যাক array1 থেকে এবং আরেকটি এলিমেন্ট আরেকটি অ্যারে গঠন করা যাক, ধরুন array2। সুতরাং প্রোগ্রামটিকে অবশ্যই জোড়ার সম্ভাব্যতা খুঁজে বের করতে হবে যাতে প্রথম উপাদানটি অ্যারের 1 এর সর্বাধিক উপাদান এবং দ্বিতীয় উপাদানটি অ্যারে 2 এর সর্বাধিক উপাদান হতে পারে তাই সর্বাধিক ওজনযুক্ত জোড়া তৈরি করে৷

ইনপুট

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

আউটপুট

probability of maximum pair : 0.166667

ব্যাখ্যা

set of pairs from both the arrays are -: {(2, 10), (2, 3), (2, 8), (23, 10), (23, 3), (23, 8)}
Maximum weighted pair from the given set is: (23, 8)
Probability is : 1 / 6 = 0.166667

ইনপুট

arr1[] = { 4, 5, 6 }
arr2[] = { 6, 2, 6 }

আউটপুট

probability of maximum pair : 0.222222

ব্যাখ্যা

set of pairs from both the arrays are -: {(4, 6), (4, 2), (4, 6), (5, 6), (5, 2), (5, 6), (6, 6), (6, 2), (6, 6)}
Maximum weighted pair from the given set is (6, 6) which is occurring twice.
Probability is : 2 / 9 = 0.2222

পন্থা

  • অ্যারের উপাদানগুলি ইনপুট করুন

  • উভয় অ্যারে থেকে সর্বাধিক উপাদানগুলি খুঁজুন এবং এইভাবে গঠিত সর্বাধিক ওজনযুক্ত জোড়ার মোট সংখ্যা গণনা করুন

  • সেটের মোট জোড়া সংখ্যার সাথে সর্বাধিক ওজনযুক্ত জোড়ার মোট সংখ্যাকে ভাগ করে সম্ভাব্যতা গণনা করুন

  • গণনা করা সম্ভাব্যতা প্রিন্ট করুন

অ্যালগরিদম

Start
Step1→ declare function to calculate maximum weighted pair
   double max_pair(int arr1[], int arr2[], int size_1, int size_2)
      declare int max_pair1 = INT_MIN, count_1 = 0
      Loop For int i = 0 and i < size_1 and i++
      IF arr1[i] > max_pair1
         Set max_pair1 = arr1[i]
         Set count_1 = 1
      End
      Else IF arr1[i] = max_pair1
         Set count_1++
      End
   End
   Declare int max_pair2 = INT_MIN, count_2 = 0
   Loop For int i = 0 and i < size_2 and i++
      IF arr2[i] > max_pair2
         Set max_pair2 = arr2[i]
         Set count_2 = 1
      End
      Else IFarr2[i] = max_pair2
         Set count_2++
      End
   End
   return (double)(count_1 * count_2) / (size_1 * size_2)
Step 2→ In main()
   Declare int arr1[] = { 2, 23 }
   Declare int arr2[] = { 10, 3, 8 }
   Calculate int size_1 = sizeof(arr1) / sizeof(arr1[0])
   Calculate int size_2 = sizeof(arr2) / sizeof(arr2[0])
   Call max_pair(arr1, arr2, size_1, size_2)
Stop

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
// Function to return probability
double max_pair(int arr1[], int arr2[], int size_1, int size_2){
   //pair from array 1
   int max_pair1 = INT_MIN, count_1 = 0;
   for (int i = 0; i < size_1; i++){
      if (arr1[i] > max_pair1){
         max_pair1 = arr1[i];
         count_1 = 1;
      }
      else if (arr1[i] == max_pair1){
         count_1++;
      }
   }
   //pair from array 2
   int max_pair2 = INT_MIN, count_2 = 0;
   for (int i = 0; i < size_2; i++){
      if (arr2[i] > max_pair2){
         max_pair2 = arr2[i];
         count_2 = 1;
      }
      else if (arr2[i] == max_pair2){
         count_2++;
      }
   }
   return (double)(count_1 * count_2) / (size_1 * size_2);
}
int main(){
   int arr1[] = { 2, 23 };
   int arr2[] = { 10, 3, 8 };
   int size_1 = sizeof(arr1) / sizeof(arr1[0]);
   int size_2 = sizeof(arr2) / sizeof(arr2[0]);
   cout <<"probability of maximum pair in both the arrays are "<<max_pair(arr1, arr2, size_1, size_2);
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
probability of maximum pair in both the arrays are 0.166667

  1. C++ এ ধাঁধা III

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

  3. C++ এ একটি অ্যারেতে সর্বাধিক GCD সহ জোড়া খুঁজুন

  4. একটি গ্রাফে সর্বাধিক কাট খুঁজে পেতে C++ প্রোগ্রাম