मान लीजिए हमारे पास n छात्रों के पांच विषयों के स्कोर हैं। पहला स्कोर कमल का है, और n-1 और स्कोर अन्य छात्रों के हैं और प्रत्येक छात्र के पांच विषय हैं। हमें उन छात्रों की संख्या गिननी होगी जिन्होंने कमल से अधिक स्कोर किया है। यहां हम students नामक एक क्लास परिभाषित करेंगे जो प्रत्येक छात्र के स्कोर लोड करेगा। क्लास में Input() फंक्शन है जो इनपुट लेता है और calculateTotalScore() फंक्शन है जो दिए गए पांच अंकों से छात्र का स्कोर निकालता है।
उदाहरण के लिए, यदि इनपुट n = 4, scores = [[25,45,32,42,30],[22,25,41,18,21],[37,42,48,45,25],[36,48,35,40,30]] है, तो आउटपुट 2 होगा क्योंकि अंतिम दो छात्रों का स्कोर कमल से अधिक है।
समाधान दृष्टिकोण
इस समस्या को हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- s := n तत्वों का Student प्रकार का ऑब्जेक्ट सरणी
- i := 0 से n-1 तक:
- scores[i] के सभी स्कोर को s[i] में लोड करें
- kamal_sc := s[0] का कुल स्कोर
- count := 0
- i := 1 से n-1 तक:
- total := s[i] का कुल स्कोर
- यदि total > kamal_sc:
- count बढ़ाएं
- count लौटाएं
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#include <iostream> #include <vector> using namespace std; class Student{ public: int score[5]; void input(vector<int> v){ for(int i = 0; i < 5; i++) score[i] = v[i]; } int calculateTotalScore(){ int res = 0; for(int i = 0; i < 5; i++) res += score[i]; return res; } }; int main(){ int n = 4; vector<vector<int>> scores = {{25,45,32,42,30},{22,25,41,18,21},{37,42,48,45,25},{36,48,35,40,30}}; Student *s = new Student[n]; for(int i = 0; i < n; i++){ s[i].input(scores[i]); } int kamal_sc = s[0].calculateTotalScore(); int count = 0; for(int i = 1; i < n; i++){ int total = s[i].calculateTotalScore(); if(total > kamal_sc){ count++; } } cout << count; } इनपुट
4, {{25,45,32,42,30}, {22,25,41,18,21}, {37,42,48,45,25}, {36,48,35,40,30}}आउटपुट
2