দুটি ভিন্ন অ্যারে দিয়ে দেওয়া হয়েছে এবং কাজটি হল সর্বাধিক ওজনযুক্ত জোড়া হিসেবে বেছে নেওয়া এলোমেলো জোড়ার সম্ভাব্যতা খুঁজে বের করা৷
একটি পেয়ারে একটি এলিমেন্ট থাকবে চলুন বলা যাক 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