हमें किसी भी लंबाई की एक स्ट्रिंग दी गई है और कार्य अपरकेस अक्षरों वाली स्ट्रिंग को लोअरकेस अक्षरों में और लोअरकेस अक्षरों को अपरकेस अक्षरों में बदलना है।
उदाहरण के लिए
इनपुट - string str = "Welcome To The Site!"
आउटपुट - wELCOME tO tHE sITE!
व्याख्या - W, T, T, S अक्षरों को लोअरकेस में बदला और e,l,c,o,m,e,o,,i,t,e अक्षरों को अपरकेस में बदला और यह विशेष वर्णों पर कोई ऑपरेशन नहीं करता है।
इनपुट - string str = "HELLO"
आउटपुट - hello
व्याख्या - H,E,L,L,E अक्षरों को लोअरकेस में बदला।
यह दो अलग-अलग दृष्टिकोणों का उपयोग करके किया जा सकता है
C++ द्वारा प्रदान किए गए इनबिल्ट फंक्शन का उपयोग करके ये ऑपरेशन करने के लिए और वे हैं toLowerCase(char) और toUpperCase(char)।
लॉजिक के माध्यम से, जिसे हम नीचे दिए गए प्रोग्राम में लागू कर रहे हैं।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
किसी भी लंबाई की स्ट्रिंग इनपुट करें
length() फंक्शन का उपयोग करके स्ट्रिंग की लंबाई की गणना करें जो स्ट्रिंग में स्पेस सहित अक्षरों की संख्या के अनुसार एक पूर्णांक मान लौटाएगा।
अपरकेस अक्षरों[A-Z] के ASCII मान 65 से शुरू होकर 90 तक होते हैं और लोअरकेस अक्षरों[a-z] के ASCII मान 97 से शुरू होकर 122 तक होते हैं।
वह लूप शुरू करें जो स्ट्रिंग में प्रत्येक अक्षर की तुलना करेगा। यदि कोई अक्षर अपरकेस में है तो इसे लोअरकेस में बदलने के लिए 32 जोड़ें और यदि अक्षर लोअरकेस में है तो इसे अपरकेस में बदलने के लिए 32 घटाएं।
स्ट्रिंग प्रिंट करें।
उदाहरण
#include<iostream>
using namespace std;
void Convert_case(string &str) {
// स्ट्रिंग की लंबाई की गणना करें
int len = str.length();
// लोअरकेस को अपरकेस में और इसके विपरीत बदलना
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = str[i] - 32;
} else if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = str[i] + 32;
}
}
}
int main() {
string str = "What's Your Name?";
cout << "String before conversion is: " << str;
Convert_case(str);
cout << "\nString after conversion is: " << str;
return 0;
}
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
String before conversion is - What's Your Name? String after conversion is - wHAT'S yOUR nAME?