কম্পিউটার

C++ এ একটি উপাদানের ধনাত্মক এবং ঋণাত্মক মান রয়েছে এমন সমস্ত জোড়া প্রিন্ট করুন


এই সমস্যায়, আমাদেরকে অনন্য পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। এবং আমাদের অ্যারের মধ্যে উপস্থিত সমস্ত জোড়া পূর্ণসংখ্যা (ধনাত্মক এবং ঋণাত্মক পূর্ণসংখ্যা) ফেরত দিতে হবে।

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

Input: array = {1 , 4 , 7 , -1, 2, 5, -7}
Output: -11 -33

সমস্যা সমাধানের একটি সহজ উপায় হল দুটি লুপ ব্যবহার করা এবং ইতিবাচক-নেতিবাচক জোড়া খুঁজে বের করা। কিন্তু এই সমাধানটি একটি জটিল হবে এবং ক্রম n2 এর সময় জটিলতা থাকবে যেখানে n হল অ্যারের আকার৷

তবে, সমস্যা সমাধানের জন্য আমাদের আরও দক্ষ পদ্ধতির সন্ধান করতে হবে। তার জন্য, আমরা প্রথমে অ্যারে সাজাতে হবে। এবং তারপর এই সাজানো অ্যারেতে, প্রতিটি নেতিবাচক পূর্ণসংখ্যার জন্য বিপরীত (ধনাত্মক) পূর্ণসংখ্যা খুঁজুন। এই বাইনারি অনুসন্ধান একটি ভাল পদ্ধতির হবে. এবং অনুসন্ধান ব্যবহার করে পাওয়া জোড়াগুলি প্রিন্ট করুন৷

উদাহরণ

আসুন এই পদ্ধতির একটি কোড চিত্র দেখা যাক -

#include <bits/stdc++.h>
using namespace std;
void positiveNegativePair(int arr[], int n) ;
int main(){
   int arr[] = { 1, 4, 6 , 3, -1, -2, 5, -6, -5 , 8 };
   int n = 10;
   cout<<"Postive Negative pairs in the array are :\n";
   positiveNegativePair(arr, n);
   return 0;
}
void positiveNegativePair(int arr[], int n){
   bool pair_exists = false;
   sort(arr, arr + n);
   for (int i = 0; i < n; i++) {
      if (arr[i] < 0) {
         if (binary_search(arr, arr + n, -arr[i])) {
            cout<<arr[i]<<", "<<-arr[i]<<"\t";
            pair_exists = true;
         }
      }
      else
         break;
   }
   if (!pair_exists)
      cout << "No positive-negative pairs exist in the code";
}

আউটপুট

অ্যারের ধনাত্মক নেতিবাচক জোড়া হল −

-6, 6 -5, 5 -1, 1

  1. C++ এ একটি অনির্দেশিত গ্রাফে সমস্ত চক্র প্রিন্ট করুন

  2. C++-এ ইনপুট স্ট্রিং-এর সমস্ত ডুপ্লিকেট প্রিন্ট করুন

  3. C++ তে বিজোড় এবং জোড় সংখ্যার নোড সহ সমস্ত স্তর প্রিন্ট করুন

  4. একটি অ্যারে উপাদানের জন্য পরীক্ষা করুন যেটি C++ এ অন্য সকলের সাথে সমন্বিত