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

C++ प्रोग्राम में बोनस देकर और 100 अंक से अधिक न होने पर अधिकतम छात्रों को पास कराना


इस समस्या में, हमें आकार 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
  1. - C++ में बोनस देने और 100 अंक से अधिक न होने पर पास होने वाले अधिकतम छात्र

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

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

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

  1. - C++ में बिफोर एंड आफ्टर पजल

    मान लीजिए हमारे पास फ्रेज़ेज़ की एक लिस्ट है, बिफोर एंड आफ्टर पजल्स की एक लिस्ट जनरेट करें। यहां एक फ्रेज़ एक स्ट्रिंग है जिसमें केवल लोअरकेस लेटर्स और स्पेसेस होते हैं। शुरुआत और अंत में कोई स्पेस नहीं होगा। एक फ्रेज़ में कोई लगातार स्पेसेस नहीं होंगे। बिफोर एंड आफ्टर पजल्स वे फ्रेज़ेज़ हैं जो दो