मान लीजिए हमारे पास marks नामक एक सरणी है, जहां कुछ अंक दिए गए हैं, सभी सम इंडेक्स के अंक जैसे marks[0], marks[2] आदि लड़कों के अंक रखते हैं और सभी विषम इंडेक्स के अंक लड़कियों के लिए रखते हैं। हमारे पास एक और इनपुट है जिसे gender कहा जाता है। gender का मान या तो 'b' या 'g' होता है, जब यह 'b' होता है तो हमें सभी लड़कों का योग वापस करना होता है, और जब यह 'g' होता है तो सभी लड़कियों के अंकों का योग वापस करना होता है। (सरणी का आकार N है)
उदाहरण के लिए, यदि इनपुट N = 9 marks = [8,5,2,6,7,5,9,9,7] gender = 'g' है, तो आउटपुट 25 होगा क्योंकि 5 + 6 + 5 + 9 = 25।
हल करने के चरण
- g_sum := 0
- b_sum := 0
- i := 0 से शुरू करें, जब i < n, i को 1 से बढ़ाते हुए करें:
- यदि i mod 2, 1 है, तो:
- g_sum := g_sum + marks[i]
- अन्यथा
- b_sum := b_sum + marks[i]
- यदि i mod 2, 1 है, तो:
- यदि gender 'b' के समान है, तो:
- b_sum वापस करें
- g_sum वापस करें
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#include <stdio.h> #define N 9 int solve(int marks[], int n, char gender){ int g_sum = 0; int b_sum = 0; for(int i = 0; i < n; i++){ if(i % 2 != 0){ g_sum += marks[i]; }else{ b_sum += marks[i]; } } if(gender == 'b') return b_sum; return g_sum; } int main(){ int marks[N] = {8,5,2,6,7,5,9,9,7}; char gender = 'g'; int sum = solve(marks, N, gender); printf("%d", sum); } इनपुट
{8,5,2,6,7,5,9,9,7}, 'g'आउटपुट
25