কম্পিউটার

C++-এ অ্যারেতে থাকা পণ্যগুলির জোড়া গণনা করুন


আমাদেরকে পূর্ণসংখ্যা ধরণের উপাদানগুলির একটি অ্যারে দেওয়া হয়েছে এবং কাজটি হল প্রদত্ত অ্যারে থেকে জোড়া তৈরি করা এবং জোড়ার উপাদানগুলির গুণফল গণনা করা এবং প্রদত্ত পণ্যটি প্রদত্ত অ্যারেতে উপস্থিত আছে কিনা তা পরীক্ষা করা৷

ইনপুট − int arr[] ={6, 2, 3, 1, 5, 10}

আউটপুট − জোড়ার সংখ্যা যাদের পণ্য একই অ্যারেতে বিদ্যমান তা হল −7

ব্যাখ্যা − প্রদত্ত অ্যারে থেকে যে জোড়াগুলি তৈরি করা যেতে পারে তা হল:(6, 2), (6, 3), (6, 1), (6, 5), (6, 10), (2, 3), ( 2, 1), (2, 5), (2, 10), (3, 1), (3, 5), (3, 10), (1, 5), (1, 10), (5, 10)। সুতরাং একই অ্যারেতে প্রদত্ত পণ্য মান সহ জোড়াগুলি হল (2, 3) হিসাবে 6, (6, 1) হিসাবে 6, (3, 1) হিসাবে 3, (2, 5) হিসাবে 10, (1, 5) হিসাবে 5, (2, 1) হিসাবে 2, (1, 10 ) হিসাবে 10।

ইনপুট − int arr[] ={2, 4, 8, 5, 10}

আউটপুট − জোড়ার সংখ্যা যাদের পণ্য একই অ্যারেতে বিদ্যমান তা হল − 2

ব্যাখ্যা − প্রদত্ত অ্যারে থেকে যে জোড়াগুলি তৈরি করা যেতে পারে তা হল:(2, 4), (2, 8), (2, 5), (2, 10), (4, 8), (4, 5), ( 4, 10), (8, 5), (8, 10), (5, 10)। সুতরাং একই অ্যারেতে প্রদত্ত পণ্য মান সহ জোড়াগুলি হল (2, 4) 8, (5, 2) হিসাবে 10৷

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

প্রদত্ত সমস্যা সমাধানের জন্য একাধিক পন্থা হতে পারে যেমন নিষ্পাপ দৃষ্টিভঙ্গি এবং দক্ষ পদ্ধতি। তাই আসুন প্রথমে নির্বোধ পদ্ধতির দিকে তাকাই।

  • পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে ইনপুট করুন এবং একটি অ্যারের আকার গণনা করুন এবং ফাংশনে ডেটা পাস করুন

  • প্রদত্ত অ্যারেতে উপলব্ধ পণ্যের মান সহ জোড়ার সংখ্যা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা ঘোষণা করুন৷

  • একটি অ্যারের আকার পর্যন্ত i থেকে 0 পর্যন্ত লুপ শুরু করুন

  • লুপের ভিতরে, একটি অ্যারের আকার পর্যন্ত j থেকে i + 1 পর্যন্ত আরেকটি লুপ FOR শুরু করুন

  • লুপের ভিতরে arr[i] * arr[j]

    হিসাবে পণ্যটি গণনা করুন
  • একটি অ্যারের আকার পর্যন্ত k থেকে 0 পর্যন্ত FOR আরেকটি লুপ শুরু করুন

  • K লুপের ভিতরে, IF পণ্য =arr[k] পরীক্ষা করুন তারপর গণনা 1 দ্বারা বৃদ্ধি করুন

  • গণনা ফেরত দিন

  • প্রিন্ট ফলাফল।

দক্ষ পদ্ধতি

  • পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে ইনপুট করুন এবং একটি অ্যারের আকার গণনা করুন এবং ফাংশনে ডেটা পাস করুন

  • প্রদত্ত অ্যারেতে উপলব্ধ পণ্যের মান সহ জোড়ার সংখ্যা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা ঘোষণা করুন৷

  • STL টাইপের একটি ভেরিয়েবল তৈরি করুন প্রো হিসাবে সেট করুন

  • একটি অ্যারের আকার পর্যন্ত i থেকে 0 পর্যন্ত লুপ শুরু করুন

  • লুপের ভিতরে, সেট ভেরিয়েবল প্রো

    -এ arr[i] ঢোকান
  • একটি অ্যারের আকার পর্যন্ত i থেকে 0 পর্যন্ত FOR আরেকটি লুপ শুরু করুন

  • লুপের ভিতরে, একটি অ্যারের আকার পর্যন্ত j থেকে i + 1 পর্যন্ত আরেকটি লুপ FOR শুরু করুন

  • পণ্যটিকে arr[i] * arr[j]

    হিসাবে সেট করুন
  • IF pro.find(product) !=pro.end() চেক করুন তারপর গণনা 1 দ্বারা বৃদ্ধি করুন

  • গণনা ফেরত দিন

  • ফলাফল প্রিন্ট করুন।

উদাহরণ (নিষ্পাপ পদ্ধতি)

#include <bits/stdc++.h>
using namespace std;
int product_pair(int arr[], int size){
   int product = 1;
   int count = 0;
   for(int i = 0 ; i<size ; i++){
      for(int j = i+1;j<size;j++){
         product = arr[i] * arr[j];
         for(int pro = 0 ; pro < size; pro++){
            if(product == arr[pro]){
               count++;
            }
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {6, 2, 3, 1, 5, 10};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"Count of pairs whose products exist in same array are: "<<product_pair(arr,size);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of pairs whose products exist in same array are: 7

উদাহরণ (দক্ষ পদ্ধতি)

#include<bits/stdc++.h>
using namespace std;
int product_pair(int arr[], int size){
   set< int > pro;
   int count = 0;
   int product = 1;
   for (int i = 0 ; i < size; i++){
      pro.insert(arr[i]);
   }
   for (int i = 0 ; i < size; i++){
      for (int j = i + 1; j < size ; j++){
         product = arr[i] * arr[j];
         if(pro.find(product) != pro.end()){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {6, 2, 3, 1, 5, 10};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"Count of pairs whose products exist in same array are: "<<product_pair(arr,size);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of pairs whose products exist in same array are: 7

  1. C++ এ একটি অ্যারেতে বিভাজ্য জোড়া গণনা করুন

  2. একটি অ্যারের সমস্ত জোড়া গণনা করুন যা C++-এ K বিটে আলাদা

  3. C++ এ সাজানো বাইনারি অ্যারেতে 1 এর সংখ্যা গণনা করুন

  4. একটি অ্যারেতে ইনভার্সন গণনা করার জন্য C++ প্রোগ্রাম