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

C++-তে দুটি অ্যারে থেকে X ও Y এলিমেন্ট নিয়ে সর্বোচ্চ যোগফল বের করা


দেওয়া আছে একই সাইজ N-এর দুটি অ্যারে। টাস্ক হলো ১ম অ্যারে থেকে X সংখ্যক এবং ২য় অ্যারে থেকে Y সংখ্যক এলিমেন্ট বেছে নিয়ে সর্বোচ্চ যোগফল বের করা।

ইনপুট

arr1 = {1,2,3,4,5}; X=2
arr2 = {1,3,5,2,7}; Y=3

আউটপুট

Maximum sum here is: 24

ব্যাখ্যা − arr1 থেকে সর্বোচ্চ ২টি: ৪, ৫। arr2 থেকে সর্বোচ্চ ৩টি: ৩, ৫, ৭। মোট যোগফল ২৪।

ইনপুট

arr1 = {10,13,16,14}; X=1
arr2 = {4,1,2,1}; Y=2

আউটপুট

Maximum sum here is: 22

ব্যাখ্যা − arr1 থেকে সর্বোচ্চ ১টি: ১৬। arr2 থেকে সর্বোচ্চ ২টি: ৪, ২। যোগফল ২২।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • দুটি অ্যারে arr1[], arr2[] এবং X, Y ইনপুট নিন।
  • দুটি অ্যারে অ্যাসেন্ডিং অর্ডারে সর্ট করুন।
  • প্রথম অ্যারে থেকে শেষ Xটি এবং দ্বিতীয় অ্যারে থেকে শেষ Yটি এলিমেন্ট নিন (কারণ সর্টেড হলে সবচেয়ে বড় মানগুলো শেষে থাকে)।
  • নির্বাচিত এলিমেন্টগুলোর যোগফল রিটার্ন করুন।

উদাহরণ

#include <iostream>
#include <algorithm>
using namespace std;

int max_sum(int arr1[], int arr2[], int length, int X, int Y) {
    sort(arr1, arr1 + length);
    sort(arr2, arr2 + length);
    int sum = 0;
    for (int i = 0; i < X; i++)
        sum += arr1[length - i - 1];
    for (int i = 0; i < Y; i++)
        sum += arr2[length - i - 1];
    return sum;
}

int main() {
    int arr1[] = {1, 1, 1, 3, 7};
    int arr2[] = {1, 1, 2, 3, 5};
    int x = 3, y = 2;
    cout << "Maximized sum of X+Y elements by picking X and Y elements from 1st and 2nd array is " << max_sum(arr1, arr2, 5, x, y);
    return 0;
}

আউটপুট

Maximized sum of X+Y elements by picking X and Y elements from 1st and 2nd array is 19
  1. সি++ প্রোগ্রাম: সম এবং বিজোড় অ্যারে থেকে অনুপস্থিত এলিমেন্ট খুঁজে বের করা

  2. C++-এ STL ব্যবহার করে অ্যারে এলিমেন্টগুলোর যোগফল (Sum) বের করা

  3. সি++ প্রোগ্রাম: অ্যারেতে সর্বনিম্ন ও দ্বিতীয় সর্বনিম্ন উপাদান খুঁজে বের করা

  4. C++-এ অ্যারের সব উপাদানে XOR অপারেশন প্রয়োগ করে অ্যারে যোগফল ন্যূনীকরণ