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

দুটি অ্যারেতে সর্বোচ্চ গুণফল যোগফল (C++ প্রোগ্রাম)

এই সমস্যাতে, আমাদের একই আকার n-এর দুটি অ্যারে arr1[] এবং arr2[] দেওয়া আছে। আমাদের কাজ হল দুটি অ্যারেতে সর্বোচ্চ গুণফল যোগফল খুঁজে বের করার প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা

আমাদের দুটি অ্যারেতে সর্বোচ্চ গুণফল যোগফল খুঁজে বের করতে হবে। arr1-এর একটি উপাদান এবং arr2-এর অন্য একটি উপাদানের গুণফলের সর্বোচ্চ যোগফল বের করতে হবে।

উদাহরণ ইনপুট
arr1[] = {3, 5, 6}
arr2[] = {1, 4, 2}
আউটপুট
37
ব্যাখ্যা
সর্বোচ্চ গুণফল যোগফল: 6*4 + 5*2 + 3*1 = 24 + 10 + 3 = 37
সমাধানের পদ্ধতি

এই সমস্যার একটি সহজ সমাধান হল arr1 এবং arr2-এর সব জোড়া উপাদান বের করে তাদের গুণফল যোগফল গণনা করা এবং সর্বোচ্চটি ফেরত দেওয়া।

একটি দক্ষ সমাধান হল দুটি অ্যারেতে সবচেয়ে বড় মানগুলোকে একসাথে গুণ করা। এটি সহজে করার জন্য দুটি অ্যারে নিম্নক্রমে সর্ট করে দিতে হবে। তারপর 0 থেকে n-1 ইনডেক্স পর্যন্ত দুটি অ্যারের উপাদানগুলো গুণ করে তাদের যোগফল ফেরত দিতে হবে।

C++ প্রোগ্রাম উদাহরণ
#include 
using namespace std;

int calcMaxSumOfProd(int arr1[], int arr2[], int n) {
    int maxSum = 0;
    sort(arr1, arr1 + n, greater());
    sort(arr2, arr2 + n, greater());
    for (int i = 0; i < n; i++)
        maxSum += (arr1[i] * arr2[i]);
    return maxSum;
}

int main() {
    int arr1[] = { 3, 5, 6 };
    int arr2[] = { 1, 4, 2 };
    int n = sizeof(arr1) / sizeof(arr1[0]);
    cout << "The maximum Sum of Products of two arrays is " << calcMaxSumOfProd(arr1, arr2, n);
    return 0;
}
আউটপুট
The maximum Sum of Products of two arrays is 37
  1. C++-এ সার্কুলার অ্যারেতে আঁচবিক উপাদান ছাড়া সর্বোচ্চ যোগফল বের করার পদ্ধতি

  2. C++-এ দুটি ভিন্ন অ্যারের সাব-অ্যারের সর্বোচ্চ OR যোগফল

  3. C++-এ অ্যারেতে সর্বোচ্চ ইকুইলিব্রিয়াম যোগফল

  4. C++-এ সম অ্যারে পাজল (Sum Array Puzzle) সমাধান