इस समस्या में, हमें आकार n की एक सरणी stu[] दी गई है जो कक्षा में छात्रों के अंकों को दर्शाती है। प्रत्येक छात्र के लिए, अधिकतम अंक 100 हैं और परीक्षा पास करने के लिए छात्र को 50 अंकों की आवश्यकता होती है। हमारा कार्य एक प्रोग्राम बनाना है जो सभी को बोनस देकर और 100 अंक से अधिक न होने पर पास होने वाले अधिकतम छात्रों को ढूंढे।
समस्या विवरण
हमें छात्रों को पास करने के लिए बोनस अंक देने हैं लेकिन बोनस अंक सभी छात्रों को दिए जाएंगे। हमारा कार्य बोनस अंक देकर पास होने वाले छात्रों की संख्या को अधिकतम करना है लेकिन बोनस देने के बाद किसी भी छात्र को 100 से अधिक अंक नहीं मिलने चाहिए। और फिर पास होने वाले छात्रों की अधिकतम संख्या वापस करना।
उदाहरण
इनपुट
stu[] = {45, 32, 78, 10, 53, 67}
आउटपुट
5
व्याख्या
पास होने वाले सभी छात्र: 45 + 22 = 67 32 + 22 = 54 78 + 22 = 100 53 + 22 = 75 67 + 22 = 89
समाधान दृष्टिकोण
समस्या को हल करने के लिए, हमें छात्रों को अंक देने हैं लेकिन एक बात पर विचार करना है कि किसी भी छात्र के अधिकतम अंक 100 से अधिक नहीं होने चाहिए। इसलिए अधिकतम बोनस जो दिया जा सकता है:
अधिकतम अंक वाले छात्र (M) + बोनस = 100 बोनस = 100 - M
फिर हम इस बोनस को छात्रों के वर्तमान अंकों में जोड़ देंगे। यदि यह 50 से अधिक है, तो छात्र पास होते हैं। परिणाम ऐसे सभी छात्रों की संख्या होगी।
एल्गोरिदम
आरंभीकरण
passCount = 0;
चरण 1 -
अधिकतम अंक वाले छात्र को ढूंढें, maxMarks।
चरण 2 -
सभी छात्रों को दिए जा सकने वाले बोनस की गणना करें, bonus = 100 - maxMarks।
चरण 3 -
लूप i → 0 से n-1 तक
चरण 3.1 -
if(stu[i] + bonus >= 50), passCount++।
चरण 4 -
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= 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