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

দুই অ্যারে থেকে জোড় জোড়া গণনা C++-এ

দুটি অ্যারে দেওয়া থাকলে, প্রথম অ্যারে থেকে একটি এবং দ্বিতীয় অ্যারে থেকে একটি উপাদান নিয়ে জোড়া বানাতে হবে যাতে তাদের যোগফল জোড় হয়। মোট কতটি এমন জোড়া সম্ভব তা বের করতে হবে।

উদাহরণ

অ্যারে ১: [2, 3, 7, 1, 4]

অ্যারে ২: [2, 4, 1, 3]

জোড় যোগফল বালা জোড়া: ১০টি

অ্যালগরিদম

  1. দুই অ্যারেতে জোড় ও বিজোড় সংখ্যার ফ্রিকোয়েন্সি গণনা করুন।
  2. জোড় যোগফল পাওয়ার দুটি উপায়:
    • জোড় + জোড় = জোড়
    • বিজোড় + বিজোড় = জোড়
  3. মোট জোড়া = (even1 × even2) + (odd1 × odd2)

সময় জটিলতা: O(n + m)

C++ কোড উদাহরণ

#include <iostream>
using namespace std;

int countEvenSumPairs(int arr1[], int n1, int arr2[], int n2) {
    int even1 = 0, odd1 = 0;
    int even2 = 0, odd2 = 0;
    
    for (int i = 0; i < n1; i++)
        if (arr1[i] % 2 == 0) even1++; else odd1++;
    
    for (int i = 0; i < n2; i++)
        if (arr2[i] % 2 == 0) even2++; else odd2++;
    
    return even1 * even2 + odd1 * odd2;
}

int main() {
    int arr1[] = {2, 3, 7, 1, 4};
    int arr2[] = {2, 4, 1, 3};
    int n1 = sizeof(arr1) / sizeof(arr1[0]);
    int n2 = sizeof(arr2) / sizeof(arr2[0]);
    
    cout << "Count: " << countEvenSumPairs(arr1, n1, arr2, n2);
    return 0;
}

ইনপুট

arr1=[2,3,7,1,4], arr2=[2,4,1,3]

আউটপুট

10
  1. C++-এ দেওয়া XOR সমান হয় এমন জোড়া (Pair) গণনা

  2. C++-এ দুটি অ্যারেতে ম্যাক্সিমাম সাম পাথ (Maximum Sum Path in Two Arrays)

  3. নির্দিষ্ট যোগফল দিয়ে সব পেয়ার প্রিন্ট করা C++-তে

  4. C++-এ দুটি অ্যারে থেকে সর্বোচ্চ ইউনিক যুগল তৈরি