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

সি++-এ সমান উপাদান বালা ইনডেক্স পেয়ার গণনা

N উপাদানের একটি অ্যারে দেওয়া আছে। লক্ষ্য হল ইনডেক্স পেয়ার (i,j) বের করা যাদের উপাদানের মান একই এবং i!=j। অর্থাৎ Arr[i]=Arr[j] এবং i!=j। এটি দস্তানা (gloves) জোড়া বানানোর জন্য ব্যবহৃত হয়। N টি দস্তানায় শুধু জোড়া দস্তানাগুলোই বিক্রির উপযোগী।

দুটি লুপ 0<=i0 && Arr[j]>0 এবং i!=j হলে count বাড়ানো হয় এবং এই উপাদান দুটিকে -1 করে দেয়া হয় (কারণ কোনো দস্তানার সাইজ -1 হয় না)।

উদাহরণ

ইনপুট: Arr[] = { 4,3,2,1,2,4 }, N=6

আউটপুট: সমান উপাদান বালা ইনডেক্স পেয়ার: ২

ব্যাখ্যা: count=0, Arr=[4,3,2,1,2,4]. Arr[0]=Arr[5], count=1, Arr[0]=Arr[5]=-1. Arr[2]=Arr[4], count=2, Arr[2]=Arr[4]=-1. আর কোনো পেয়ার নেই। মোট ২টি।

ইনপুট: Arr[] = { 2,2,2,2,2 }, N=5

আউটপুট: সমান উপাদান বালা ইনডেক্স পেয়ার: ২

ব্যাখ্যা: Arr[0]=Arr[1], count=1, Arr[0]=Arr[1]=-1. Arr[2]=Arr[3], count=2, Arr[2]=Arr[3]=-1. বাকি ২টি অযোজ্য। মোট ২টি।

অ্যাপ্রোচ

  • দস্তানার সাইজ >0 এমন ইন্টিজার অ্যারে Arr[] নেওয়া হয়।
  • n ভেরিয়েবলে দৈর্ঘ্য।
  • countPairs(int arr[], int n) ফাংশন অ্যারে এবং দৈর্ঘ্য গ্রহণ করে সমান সাইজ ও ভিন্ন ইনডেক্স বালা পেয়ার রিটার্ন করে।
  • দুটি নেস্টেড for লুপ: আউটার 0<=i
  • যদি arr[i] এবং arr[j] ধনাত্মক এবং arr[i]==arr[j] হয়, count++ এবং arr[i]=arr[j]=-1।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int countPairs(int arr[], int n) {
    int count = 0;
    for (int i = 0; i < n-1; i++) {
        for (int j = i+1; j < n; j++) {
            if (arr[i] == arr[j] && arr[i] > 0 && arr[j] > 0) {
                count++;
                arr[i] = arr[j] = -1;
            }
        }
    }
    return count;
}

int main() {
    int arr[] = { 1,2,4,2,1,2,4 };
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Pair of gloves ( Equal element pairs ):" << countPairs(arr, n);
    return 0;
}

আউটপুট

Pair of gloves ( Equal element pairs ): 3
  1. C++-এ সেট বিট K সমান থাকা অ্যারেের সব উপাদানের XOR

  2. C++-এ পার্থক্য K হয় এমন আলাদা জোড়া গণনা (Count Distinct Pairs with Difference K)

  3. C++-এ আনসর্টেড অ্যারে থেকে সমান যোগফল বিশিষ্ট সব জোড়া প্রিন্ট করা

  4. C++ তে প্রাইম ফ্রিকোয়েন্সি والے অ্যারে উপাদান খুঁজে বের করা