আমাদের যেকোনো দৈর্ঘ্যের একটি স্ট্রিং দেওয়া আছে এবং আমাদের কাজ হল বড় হাতের অক্ষরগুলোকে ছোট হাতের এবং ছোট হাতের অক্ষরগুলোকে বড় হাতের অক্ষরে রূপান্তর করা।
উদাহরণ
ইনপুট − 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, O বড় হাতের অক্ষরগুলোকে ছোট হাতের রূপান্তর করা হয়েছে।
এটি দুটি পদ্ধতিতে করা যায়
- C++-এর বিল্ট-ইন ফাংশন ব্যবহার করে:
toLowerCase(char)এবংtoUpperCase(char) - লজিকের মাধ্যমে, যা আমরা নিচের প্রোগ্রামে ইমপ্লিমেন্ট করছি
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- যেকোনো দৈর্ঘ্যের স্ট্রিং ইনপুট নিন
length()ফাংশন দিয়ে স্ট্রিং দৈর্ঘ্য গণনা করুন- বড় হাতের অক্ষর [A-Z]-এর ASCII মান ৬৫ থেকে ৯০ এবং ছোট হাতের [a-z]-এর ৯৭ থেকে ১২২
- লুপ চালিয়ে স্ট্রিংর প্রতিটি অক্ষর তুলনা করুন। যদি বড় হাতের হয় তবে ৩২ যোগ করে ছোট হাতের করুন, আর যদি ছোট হাতের হয় তবে ৩২ বিয়োগ করে বড় হাতের করুন
- স্ট্রিং প্রিন্ট করুন
উদাহরণ কোড
#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?