हमें अपरकेस और लोअरकेस अक्षरों वाली किसी भी लंबाई की एक स्ट्रिंग दी गई है और कार्य उन वर्णों की गिनती की गणना करना है जो अंग्रेजी वर्णमाला के समान स्थिति में हैं।
उदाहरण के लिए
Input − String str = eBGD Output − Count is: 2
स्पष्टीकरण - B और D ऐसे अक्षर हैं जो अंग्रेजी वर्णमाला में उसी क्रम में हैं जैसे B दूसरे स्थान पर आता है और D चौथे स्थान पर आता है।
Input − String str = Abcdeizxy Output − Count is: 5
स्पष्टीकरण - ए, बी, सी, डी और ई ऐसे अक्षर हैं जो अंग्रेजी वर्णमाला में उसी क्रम में हैं जैसे ए पहले स्थान पर आता है फिर बी, सी, डी और ई।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
अपरकेस और लोअरकेस अक्षरों वाली स्ट्रिंग इनपुट करें।
-
लूप को 0 से एक स्ट्रिंग के आकार तक प्रारंभ करें, जिसे size() फ़ंक्शन का उपयोग करके परिकलित किया जा सकता है।
-
अब जांचें कि क्या 'i =str[i] - 'a' या i =str[i] - 'a'' क्योंकि हमारे स्ट्रिंग में अपरकेस और लोअरकेस दोनों अक्षर हैं।
-
अब, एक अस्थायी चर लें, मान लें कि अस्थायी, इसे लूप के बाहर 0 से प्रारंभ करें और इसे लूप के अंदर 1 से बढ़ाना प्रारंभ करें
-
मान को अस्थायी में लौटाएं
-
परिणाम प्रिंट करें।
उदाहरण
#include<iostream> using namespace std; int countalphabet(string str){ int res= 0; // Traverse the string for (int i = 0 ; i < str.size(); i++){ // As all uppercase letters are grouped together // and lowercase are grouped together so // if the difference is equal then they are same if (i == (str[i] - 'a') || i == (str[i] - 'A')){ res++; } } return res; } // main function int main(){ string str = "aBTutorIalspOiNT"; cout <<”Count is:”<< countalphabet(str); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा
Count is: 2