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

দেওয়া তালিকা থেকে কোনো সংখ্যা যাতে ফাংশনের মান A-র সন্নিকট হয় C++-তে


মনে করুন আমাদের একটি ফাংশন F(n) আছে যেন F(n) = P - (0.006*n), যেখানে P ও দেওয়া। একটি পূর্ণসংখ্যার তালিকা এবং একটি সংখ্যা A দেওয়া আছে। কাজটি হল তালিকা থেকে সেই সংখ্যা বের করা, যার জন্য ফাংশনের মান A-র সবচেয়ে নিকট। তাই যদি P = 12, এবং A = 5, তবে তালিকা হবে {1000, 2000}। আউটপুট হবে 1000। কারণ P = 12 এবং A = 5 হলে, 1000-এর জন্য F(1000) = 12 - (0.006 * 1000) = 6 এবং 2000-এর জন্য F(2000) = 12 - (0.006 * 2000) = 0। 5-র নিকটতম মান 6, তাই সেটি নেওয়া হবে।

তালিকার প্রতিটি মান মাধ্যমে ইটারেট করুন, এবং প্রতিটি মানের জন্য F(n) বের করুন। এখন F(n) এবং A-এর निरপেক্ষ পার্থক্য তুলনা করুন এবং যে n-এর জন্য निरপেক্ষ পার্থক্য ন্যূনতম, সেটিই উত্তর।

উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;

int nearestValue(int P, int A, int N, int arr[]) {
    int ans = -1;
    float temp = (float)INFINITY;
    for (int i = 0; i < N; i++) {
        float term = P - arr[i] * 0.006;
        if (abs(term - A) < temp) {
            temp = abs(term - A);
            ans = i;
        }
    }
    return arr[ans];
}

int main() {
    int P = 12, A = 5;
    int array[] = {1000, 2000, 1001};
    int N = sizeof(array) / sizeof(array[0]);
    cout << "Nearest value is: " << nearestValue(P, A, N, array) << endl;
}

আউটপুট

Nearest value is: 1001

  1. C++ প্রোগ্রাম: গ্রাফে ব্রিজ এজের সংখ্যা নির্ণয়

  2. C++ দিয়ে বাইনারি অ্যারেতে শূন্যের সংখ্যা বের করা

  3. C++ দিয়ে সমীকরণের সমাধানের সংখ্যা বের করা

  4. C++-এ দিয়ে गये পয়েন্ট থেকে সম্ভাব্য কোয়াড্রিল্যাটারেল সংখ্যা বের করুন