Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सभी को बोनस देने के बाद उत्तीर्ण होने वाले अधिकतम छात्र और 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

चरण 3.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++ में 100 से अधिक अंक नहीं होना चाहिए

    इस ट्यूटोरियल में, हम सभी को बोनस देने के बाद और 100 से अधिक अंक नहीं देने के बाद उत्तीर्ण होने के लिए अधिकतम छात्रों को खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। इसके लिए हमें एन छात्रों के अंकों वाली एक सरणी प्रदान की जाएगी। हमारा कार्य प्रत्येक छात्र को 100 अंकों से अधिक के बिना किसी छात्र को स

  1. C++ में स्टॉक खरीदने और बेचने के बाद अधिकतम लाभ

    इस समस्या में, हमें एक सरणी stkprice [] दी गई है जो i-वें दिन एक निश्चित स्टॉक की कीमत को दर्शाती है। हमारा काम C++ में स्टॉक खरीदने और बेचने के बाद अधिकतम लाभ की गणना करने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहां, हमें यह जांचना होगा कि लाभ हासिल करने के लिए स्टॉक को कब खरीदा और बेचा ज

  1. सी ++ में पहेली से पहले और बाद में

    मान लीजिए कि हमारे पास वाक्यांशों की एक सूची है, पहेलियों से पहले और बाद की सूची तैयार करें। यहां एक वाक्यांश एक स्ट्रिंग है जिसमें केवल लोअरकेस अक्षर और रिक्त स्थान होते हैं। आरंभ और समाप्ति की स्थिति में कोई स्थान नहीं होगा। किसी वाक्यांश में कोई क्रमागत रिक्तियाँ नहीं होती हैं। पहले और बाद की पह