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

C++ में एक पूर्णांक में सम और विषम अंकों की गणना करें

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

उदाहरण के लिए

Input − digit = 12345
Output − count for even digits = 2
      count for odd digits = 3

स्पष्टीकरण - हां, साथ ही, सम अंक सम संख्या में यानि 2 बार आ रहे हैं और विषम अंक विषम संख्या में, यानी 3

आ रहे हैं।
Input − digit = 44556
Output − count for even digits = 3
      count for odd digits = 2

व्याख्या- नहीं, क्योंकि सम अंक विषम संख्या में आ रहे हैं अर्थात 3 और विषम अंक सम संख्या में आ रहे हैं अर्थात 2

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • एक पूर्णांक मान इनपुट करें जिसमें विषम और सम अंक हों

  • दो चर घोषित करें, एक विषम अंक गिनने के लिए और दूसरा सम अंक गिनने के लिए और उन्हें 0 से प्रारंभ करें।

  • लूप शुरू करें, जबकि अंक 0 से बड़ा है और इसे "अंक/10" से घटाएं ताकि हम एक पूर्णांक में अलग-अलग अंक प्राप्त कर सकें।

  • यदि अंक से विभाज्य है तो वह भी विषम होगा।

  • यदि पाया गया अंक सम है, तो सम संख्या को 1 से बढ़ा दें और यदि अंक विषम है, तो विषम के लिए संख्या को 1 से बढ़ा दें

  • अब, यह जाँचने के लिए कि क्या सम अंक सम संख्या में आ रहे हैं, सम संख्या को 2 से भाग दें, यदि यह 0 आता है तो यह सम संख्या में आ रहा है अन्यथा यह विषम संख्या में आ रहा है।

  • और यह जांचने के लिए कि क्या विषम अंक विषम संख्या में आ रहे हैं, विषम संख्या को 2 से विभाजित करें, यदि यह आता है !0 तो यह विषम संख्या में आ रहा है अन्यथा यह सम संख्या में आ रहा है।

  • परिणाम प्रिंट करें।

उदाहरण

#include <iostream>
using namespace std;
int main(){
   int n = 12345, e_count = 0, o_count = 0;
   int flag;
   while (n > 0){
      int rem = n % 10;
      if (rem % 2 == 0){
         e_count++;
      } else {
         o_count++;
      }
      n = n / 10;
   }
   cout << "Count of Even numbers : "<< e_count;
   cout << "\nCount of Odd numbers : "<< o_count;
   // To check the count of even numbers is even and the
   // count of odd numbers is odd
   if (e_count % 2 == 0 && o_count % 2 != 0){
      flag = 1;
   } else {
      flag = 0;
   }
   if (flag == 1){
      cout << "\nYes " << endl;
   } else {
      cout << "\nNo " << endl;
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of Even numbers : 2
Count of Odd numbers : 3
Yes

  1. सी ++ में एक ऐरे में सम और विषम अनुक्रमित तत्वों का पूर्ण अंतर?

    एक सरणी एक ही डेटा प्रकार के कई तत्वों का एक कंटेनर है। तत्वों का सूचकांक 0 से शुरू होता है यानी पहले तत्व का सूचकांक 0 होता है। इस समस्या में, हमें दो सम अनुक्रमित संख्याओं और दो विषम अनुक्रमित संख्याओं के बीच पूर्ण अंतर खोजने की आवश्यकता है। सम अनुक्रमित संख्या =0,2,4,6,8…. विषम अनुक्रमित संख्य

  1. एक ऐरे (सी++) में सम और विषम अनुक्रमित तत्वों का पूर्ण अंतर?

    यहां हम देखेंगे कि हम एक सरणी में विषम और यहां तक ​​कि अनुक्रमित तत्वों के पूर्ण अंतर कैसे प्राप्त कर सकते हैं। निरपेक्ष अंतर इंगित करता है कि यदि एक जोड़ी का अंतर ऋणात्मक है, तो निरपेक्ष मान लिया जाएगा। उदाहरण के लिए, मान लीजिए कि संख्याएँ {1, 2, 3, 4, 5, 6, 7, 8, 9} हैं। तो सम स्थिति तत्व 1, 3, 5,

  1. विषम और सम अंकों के योग में अंतर।

    समस्या का विवरण दिए गए लंबे पूर्णांक n के साथ, विषम अंकों के योग और यहां तक ​​कि अंकों के बीच का अंतर 0 या नहीं होने के लिए एक प्रोग्राम लिखें। इंडेक्स 0 से शुरू होता है। उदाहरण n = 1212112 Sum of odd position elements = 2 + 2 + 1 = 5 Sum of even position elements = 1 + 1 + 1 + 2 = 5 Difference =