मान लीजिए कि हमारे पास एक स्ट्रिंग 'str' है जिसमें इसमें कुछ वर्ण हैं। कार्य यह जांचना है कि दिए गए स्ट्रिंग में इसके सभी वर्ण बड़े हैं या नहीं और क्रमशः सही या गलत लौटाएं। उदाहरण के लिए,
इनपुट-1 -
str = “INDIA”
आउटपुट -
True
स्पष्टीकरण - चूंकि इनपुट स्ट्रिंग के सभी कैरेक्टर कैपिटल हैं, हम इस मामले में सही लौटेंगे।
इनपुट-2 -
str = “Programmer”
आउटपुट -
False
स्पष्टीकरण - चूंकि इनपुट स्ट्रिंग के सभी अक्षर पहले अक्षर को छोड़कर कैपिटल में नहीं हैं, हम इस मामले में झूठी वापसी करेंगे।
इस समस्या को हल करने के लिए इस्तेमाल किया जाने वाला तरीका
दिए गए स्ट्रिंग में, हमें यह जांचना है कि इनपुट स्ट्रिंग के सभी वर्ण बड़े अक्षरों में हैं या नहीं। इस प्रकार, हम स्ट्रिंग के प्रत्येक वर्ण पर पुनरावृति करेंगे और जांच करेंगे कि क्या यह 'ए' से बड़ा है और 'जेड' से कम है।
अगर शर्त सही है तो हम काउंटर बढ़ाएंगे। फिर, हम आगे बढ़ेंगे और फिर से जांच करेंगे कि क्या काउंटर का आकार स्ट्रिंग की लंबाई के समान है, तो सही है, अन्यथा गलत है।
-
स्ट्रिंग 'str' का इनपुट लें
-
एक बूलियन फ़ंक्शन checkCapital(string s) एक स्ट्रिंग को इनपुट के रूप में लेता है और यदि स्ट्रिंग के सभी वर्णों को कैपिटल किया जाता है, तो यह सही हो जाता है।
-
एक काउंटर वेरिएबल लें और इसे शून्य के रूप में प्रारंभ करें।
-
स्ट्रिंग पर पुनरावृति करें और जांचें कि क्या वर्तमान वर्ण 'ए' से 'जेड' की सीमा के अंतर्गत आता है यदि स्थिति सत्य है तो काउंटर चर बढ़ाएँ।
-
अब चेक काउंटर स्ट्रिंग के आकार के समान है और तदनुसार सही/गलत लौटाता है।
-
अगर काउंटर 0 है या स्ट्रिंग में एक कैरेक्टर है जो कैपिटल है, तो ट्रू रिटर्न करें।
उदाहरण
#include<bits/stdc++.h> using namespace std; bool checkCapital(string s){ int counter=0; int loc=i; for(int i=0;i<s.size();i++){ if(s[i]>='A' && s[i]<= 'Z'){ counter++; loc=i; } } if(counter==s.size() || counter==0 ||(counter==1 && loc==0)) return true; return false; } int main(){ string str= "INDIA"; bool ans= checkCapital(str); if(ans){ cout<<"True"<<endl; } else { cout<<"False"<<endl; } return 0; }
आउटपुट
उपरोक्त कोड को चलाने से आउटपुट इस प्रकार उत्पन्न होगा,
True
चूंकि इनपुट स्ट्रिंग 'इंडिया' में सभी कैरेक्टर कैपिटल होते हैं, इसलिए हमें आउटपुट "ट्रू" के रूप में मिलता है।