কম্পিউটার

সবাইকে বোনাস দেওয়ার পরে এবং C++ প্রোগ্রামে 100 নম্বরের বেশি না করে পাস করার জন্য সর্বাধিক শিক্ষার্থী


এই সমস্যায়, আমাদেরকে ক্লাসের ছাত্রদের মার্কস n আকারের একটি অ্যারে stu[] দেওয়া হয়েছে। প্রতিটি শিক্ষার্থীর জন্য, সর্বোচ্চ নম্বর 100 এবং একজন শিক্ষার্থীর পরীক্ষায় পাস করার জন্য 50 নম্বরের প্রয়োজন। আমাদের কাজ হল সবাইকে একটি বোনাস দেওয়ার পরে এবং 100 নম্বরের বেশি না করে পাস করার জন্য সর্বাধিক ছাত্রদের খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা৷

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

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

ইনপুট

stu[] = {45, 32, 78, 10, 53, 67}

আউটপুট

5

ব্যাখ্যা

All students passed are :
45 + 22 = 67
32 + 22 = 54
78 + 22 = 100
53 + 22 = 75
67 + 22 = 89

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

সমস্যা সমাধানের জন্য, আমাদের শিক্ষার্থীকে নম্বর দিতে হবে তবে একটি বিষয় বিবেচনা করতে হবে যে কোনও শিক্ষার্থীর সর্বোচ্চ নম্বর 100 এর বেশি হওয়া উচিত নয়। তাই সর্বাধিক বোনাস দেওয়া যেতে পারে

Student with max marks(M) + bonus = 100
Bonus = 100 − M

তারপর আমরা এই বোনাসটি শিক্ষার্থীদের বর্তমান নম্বরের সাথে যোগ করব। যদি এটি 50 ছাড়িয়ে যায়, ছাত্ররা পাস করে। ফলাফল এই ধরনের সব ছাত্র গণনা হবে.

অ্যালগরিদম

শুরু করুন

passCount = 0;

ধাপ 1

Find the student with maximum marks, maxMarks.

ধাপ 2

Calculate bonus that can be given to all students, bonus = 100 − maxMarks.

ধাপ 3

Loop for i −> 0 to n−1

ধাপ ৩.১

if(stu[i] + bonus >= 50), passCount++.

পদক্ষেপ 4৷ −

return passCount.

উদাহরণ

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

#include<iostream>
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++ তে 100 নম্বরের বেশি না করে পাস করার জন্য সর্বাধিক শিক্ষার্থী

  3. C++ এ স্টক ক্রয়-বিক্রয়ের পর সর্বোচ্চ লাভ

  4. C++ এ ধাঁধার আগে এবং পরে