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

C++-এ অ্যারেতে পার্টিশন পয়েন্ট বের করা

একটি অ্যারে দেওয়া থাকলে, একটি পার্টিশন পয়েন্ট বের করতে হবে যেন সেটির বামপাশের সব এলিমেন্ট সেটি থেকে ছোট এবং ডানপাশের সব এলিমেন্ট সেটি থেকে বড়।

পদ্ধতি

  • অ্যারে ইনিশিয়ালাইজ করুন।
  • প্রতিটি ইন্ডেক্স i জন্য:
  • 0 থেকে i-1 পর্যন্ত সব এলিমেন্ট < arr[i] কিনা চেক করুন।
  • i+1 থেকে n-1 পর্যন্ত সব এলিমেন্ট > arr[i] কিনা চেক করুন।
  • দুটি শর্ত পূরণ হলে arr[i] রিটার্ন করুন।
  • না পাওয়া গেলে -1 রিটার্ন করুন।

উদাহরণ

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

int findPartitionElement(int arr[], int n) {
    for (int i = 0; i < n; i++) {
        bool ok = true;
        for (int j = 0; j < i; j++)
            if (arr[j] >= arr[i]) { ok = false; break; }
        for (int j = i+1; j < n; j++)
            if (arr[j] <= arr[i]) { ok = false; break; }
        if (ok) return arr[i];
    }
    return -1;
}

int main() {
    int arr[] = {4, 3, 5, 6, 7};
    cout << findPartitionElement(arr, 5) << endl;
    return 0;
}

আউটপুট

5
  1. C++ ব্যবহার করে স্ট্রাকচার অ্যারেতে সর্বোচ্চ মান বের করা

  2. ডুপ্লিকেট অনুমতির সাথে অ্যারেতে ফিক্সড পয়েন্ট খুঁজে বের করা C++-এ

  3. দেওয়া অ্যারেতে ফিক্সড পয়েন্ট (মান ইনডেক্সের সমান) খুঁজে বের করা C++-এ

  4. C++-এ একটি বিন্দু বৃত্তের ভিতরে আছে কিনা তা যাচাই করা