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

বোনাস দিয়ে সর্বোচ্চ ছাত্র उत्तীর্ণ করানো (১০০ নম্বর অতিক্রম না করে C++ প্রোগ্রাম)

এই সমস্যাতে, আমাদের n আকারের একটি stu[] অ্যারে দেওয়া আছে যা ক্লাসের ছাত্রদের নম্বর নির্দেশ করে। প্রতিটি ছাত্রের জন্য সর্বোচ্চ নম্বর ১০০ এবং পরীক্ষা उत्तীর্ণ করতে ৫০ নম্বর লাগে। আমাদের কাজ হল সবাইকে বোনাস দিয়ে ১০০ নম্বর অতিক্রম না করে সর্বোচ্চ ছাত্র उत्तীর্ণ করানো প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা

আমাদের ছাত্রদের বোনাস নম্বর দিয়ে উত্তীর্ণ করাতে হবে কিন্তু বোনাস নম্বর সব ছাত্রকে দিতে হবে। আমাদের কাজ হল বোনাস নম্বর দিয়ে সর্বোচ্চ সংখ্যক ছাত্রকে উত্তীর্ণ করানো কিন্তু কোনো ছাত্রের নম্বর ১০০-এর বেশি হবেনা। এবং তারপর সর্বোচ্চ উত্তীর্ণ ছাত্রের সংখ্যা ফেরত দিতে হবে।

উদাহরণ ইনপুট
stu[] = {45, 32, 78, 10, 53, 67}
আউটপুট
5
ব্যাখ্যা
উত্তীর্ণ সব ছাত্র:
45 + 22 = 67
32 + 22 = 54
78 + 22 = 100
53 + 22 = 75
67 + 22 = 89
সমাধানের পদ্ধতি

সমস্যা সমাধানের জন্য, আমাদের ছাত্রদের নম্বর দিতে হবে কিন্তু একটি জিনিস বিবেচনা করতে হবে যে কোনো ছাত্রের নম্বর ১০০-এর বেশি হবেনা। তাই সর্বোচ্চ বোনাস যা দিতে হয়:

সর্বোচ্চ নম্বর পাওয়া ছাত্র (M) + বোনাস = ১০০
বোনাস = ১০০ - M

তারপর এই বোনাস সব ছাত্রের বর্তমান নম্বরে যোগ করব। যদি ৫০ বা তার বেশি হয়, তবে ছাত্র उत्तীর্ণ। ফলাফল হবে এমন সব ছাত্রের গণনা।

অ্যালগরিদম

আরম্ভিকরণ:

passCount = 0;

ধাপ ১: সর্বোচ্চ নম্বর পাওয়া ছাত্র খুঁজুন, maxMarks।

ধাপ ২: সব ছাত্রকে দেওয়া যেতে পারে এমন বোনাস হিসাব করুন, bonus = ১০০ - maxMarks।

ধাপ ৩: i → 0 থেকে n-1 পর্যন্ত লুপ।

ধাপ ৩.১: যদি (stu[i] + bonus >= 50) হয়, passCount++।

ধাপ ৪: passCount ফেরত দিন।

C++ প্রোগ্রাম উদাহরণ
#include 
using namespace std;

int calcPassCount(int stu[], int n) {
    int maxMarks = stu[0];
    for (int i = 1; i < n; i++) {
        if (stu[i] > maxMarks)
            maxMarks = stu[i];
    }
    int bonusMarks = 100 - maxMarks;
    int passCount = 0;
    for (int i = 0; i < n; i++) {
        if (stu[i] + bonusMarks >= 50)
            passCount++;
    }
    return passCount;
}

int main() {
    int stu[] = {45, 32, 78, 10, 53, 67};
    int n = sizeof(stu) / sizeof(stu[0]);
    cout << "The Maximum students to pass after giving bonus to everybody is " << calcPassCount(stu, n);
    return 0;
}
আউটপুট
The Maximum students to pass after giving bonus to everybody is 5
  1. C++-এ স্ট্রিং থেকে ব্যালেন্সড স্ট্রিং बनाने के लिये স্ব্যাপ ও রিমুভাল

  2. C++-এ বোনাস দিয়ে সর্বোচ্চ ছাত্র পাস করানো (Maximum students to pass after giving bonus to everybody and not exceeding 100 marks)

  3. C++-এ স্টক কিনে ও বিক্রি করে সর্বোচ্চ লাভ (Maximum profit after buying and selling the stocks)

  4. C++-এ Before and After পাজল সমাধান করুন