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

C++ প্রোগ্রামে অ্যারে ম্যানিপুলেশন ও যোগফল: থ্রেশহোল্ড K বের করা


ভূমিকা

একটি অ্যারে এবং একটি টার্গেট যোগফল S দেওয়া থাকলে, এমন একটি মান K বের করতে হবে যাতে অ্যারেতে K-র চেয়ে বড় সব মানকে K করে দিলে পুরো অ্যারের যোগফল S হয়।

উদাহরণ

অ্যারে: {12, 3, 6, 7, 8}, S = 15
সর্টেড: {3, 6, 7, 8, 12}
K = 3 হলে: {3,3,3,3,3} → যোগফল 15 ✓
আউটপুট: 3

এলগরিদম

getVal(arr, n, S)
শুরু
  arr সর্ট করুন (ascending)
  sum = 0
  i = 0 থেকে n-1:
    যদি sum + arr[i]*(n-i) == S: রিটার্ন arr[i]
    sum += arr[i]
  রিটার্ন -1
শেষ

C++ প্রোগ্রাম উদাহরণ

#include 
#include 
using namespace std;

int getVal(int arr[], int n, int S) {
    sort(arr, arr+n);
    int sum = 0;
    for (int i = 0; i < n; i++) {
        if (sum + arr[i] * (n - i) == S)
            return arr[i];
        sum += arr[i];
    }
    return -1;
}

int main() {
    int arr[] = {12, 3, 6, 7, 8};
    int S = 15;
    cout << getVal(arr, 5, S); // 3
    return 0;
}

আউটপুট

3
  1. অ্যারিথমেটিক অপারেটর ছাড়া দুটি ইন্টিজার যোগ করা: C/C++ প্রোগ্রাম

  2. C/C++-তে int main() এবং int main(void) এর পার্থক্য

  3. C/C++ প্রোগ্রামে পিথ্রেড ব্যবহার করে ম্যাট্রিক্স আডিশন ও সাবট্র্যাকশন

  4. সি/সি++ প্রোগ্রামে মার্জ সর্ট ব্যবহার করে অ্যারেতে ইনভারশন কাউন্ট করা