কম্পিউটার

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


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

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

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

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

আউটপুট

37

ব্যাখ্যা

Maximum sum of products: 6*4 + 5*2 + 3*1 = 24 + 10 + 3 = 37

সমাধান পদ্ধতি

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

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

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

#include<bits/stdc++.h>
using namespace std;
int calcMaxSumOfProd(int arr1[], int arr2[], int n){
   int maxSum = 0;
   sort(arr1, arr1 + n, greater<int>());
   sort(arr2, arr2 + n, greater<int>());
   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++-এ দুটি ভিন্ন অ্যারের সাব-অ্যারের সর্বাধিক বা যোগফল

  3. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল

  4. C++ এ একটি সমষ্টি অ্যারে ধাঁধা?