আমাদের একটি স্ট্রিং দেওয়া আছে যেকোনো দৈর্ঘ্যের যাতে বড় এবং ছোট হাতের অক্ষর রয়েছে, এবং আমাদের কাজ হল ইংরেজি বর্ণমালার মতো একই পজিশনে থাকা অক্ষরগুলির সংখ্যা গণনা করা।
উদাহরণ
ইনপুট − String str = eBGD আউটপুট − গণনা: 2
ব্যাখ্যা − B এবং D হল সেই অক্ষর যারা ইংরেজি বর্ণমালায় একই ক্রমে রয়েছে কারণ B দ্বিতীয় পজিশনে এবং D চতুর্থ পজিশনে থাকে।
ইনপুট − String str = Abcdeizxy আউটপুট − গণনা: 5
ব্যাখ্যা − A, B, C, D, E হল ইংরেজি বর্ণমালায় একই ক্রমে থাকা অক্ষর কারণ A প্রথম পজিশনে, তারপর B, C, D, E।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- বড় এবং ছোট হাতের অক্ষর সহ স্ট্রিং ইনপুট নিন
i = 0থেকে স্ট্রিং আকার পর্যন্ত লুপ শুরু করুন (size()ফাংশন দিয়ে)- এখন চেক করুন
i == str[i] - 'a'অথবাi == str[i] - 'A'কারণ স্ট্রিংতে বড়-ছোট হাতের অক্ষর উভয়ই আছে - একটি অস্থায়ী ভেরিয়েবল
tempনিন, 0 দিয়ে আরম্ভ করুন, লুপের বাইরে এবং লুপের ভিতরে 1 বৃদ্ধি করুন temp-এর মান ফেরত দিন- ফলাফল প্রিন্ট করুন
উদাহরণ কোড
#include <iostream>
using namespace std;
int countalphabet(string str) {
int res = 0;
// স্ট্রিং ট্রাভার্স করুন
for (int i = 0; i < str.size(); i++) {
// যেহেতু সব বড় হাতের অক্ষর একসাথে এবং ছোট হাতের একসাথে
// তাই যদি পার্থক্য সমান হয় তবে একই পজিশন
if (i == (str[i] - 'a') || i == (str[i] - 'A')) {
res++;
}
}
return res;
}
// main ফাংশন
int main() {
string str = "aBTutorIalspOiNT";
cout << "Count is: " << countalphabet(str);
return 0;
}
আউটপুট
যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব
Count is: 2