কম্পিউটার

উপাদানগুলি যোগ করতে হবে যাতে একটি পরিসরের সমস্ত উপাদান C++ এ অ্যারেতে উপস্থিত থাকে


এই সমস্যায়, আমাদেরকে একটি অ্যারে দেওয়া হয়েছে যা n সংখ্যা নিয়ে গঠিত। আমাদের কাজ হল এলিমেন্টের সংখ্যা খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা যাতে একটি রেঞ্জের সমস্ত উপাদান অ্যারেতে উপস্থিত থাকে।

সমস্যা বর্ণনা: এখানে, একটি রেঞ্জের সমস্ত উপাদান অ্যারেতে উপস্থিত রয়েছে তা নিশ্চিত করার জন্য অ্যারেতে যোগ করার জন্য প্রয়োজনীয় উপাদানগুলির সংখ্যা খুঁজে বের করতে হবে। পরিসরটি অ্যারের ক্ষুদ্রতম উপাদান থেকে অ্যারের সবচেয়ে বড় এলিমেন্টে।

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

ইনপুট: arr[] ={5, 8, 3, 1, 6, 2}

আউটপুট: 2

ব্যাখ্যা:

ব্যাপ্তি হল 1 থেকে 8,

যোগ করা উপাদানগুলি হল 4 এবং 7৷

সমাধান পদ্ধতি -

সমস্যাটির একটি সহজ সমাধান হল রেঞ্জের কোন উপাদানটি অ্যারেতে নেই তা খুঁজে বের করে। এর জন্য, আমাদের অ্যারে সাজাতে হবে এবং তারপরে পরবর্তী উপাদানটি উপস্থিত আছে কি না তা খুঁজে বের করতে হবে।

অ্যালগরিদম −

ধাপ 1: অ্যারে সাজান।

ধাপ 2: i -> 0 থেকে n-1 এর জন্য অ্যারের মাধ্যমে লুপ করুন।

ধাপ 2.1: arr[i] + 1 !=arr[i+1] হলে, গণনা বাড়ান।

ধাপ 3: প্রিন্ট গণনা।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

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

int calcEleRequired(int arr[], int n)
{
   int count = 0;
   sort(arr, arr + n);
   for (int i = 0; i < n - 1; i++)
      if (arr[i]+1 != arr[i+1] )
         count ++;

   return count;
}

int main()
{
   int arr[] = { 5, 7, 3, 1, 6, 2 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The number of elements required to complete the range is "<<calcEleRequired(arr, n);
   return 0;
}

আউটপুট −

The number of elements required to complete the range is 1

  1. বৃত্তাকার অ্যারেতে সর্বাধিক যোগফল যাতে C++ এ দুটি উপাদান সংলগ্ন থাকে না

  2. এমন উপাদানগুলি খুঁজুন যা প্রথম অ্যারেতে উপস্থিত রয়েছে এবং C++ এ দ্বিতীয়টিতে নেই

  3. একটি অ্যারে উপাদান খুঁজুন যাতে সমস্ত উপাদান এটি দ্বারা c++ ব্যবহার করে বিভাজ্য হয়

  4. একটি অ্যারের (C++) মধ্যে সব জোড়া জোড়া ধারাবাহিক উপাদানের পরম পার্থক্য?