একটি স্ট্রিং দেওয়া আছে। এতে বড় হাতের অক্ষর, ছোট হাতের অক্ষর, সংখ্যা এবং স্পেশাল ক্যারেক্টার কতগুলো আছে তা গণনা করুন।
ASCII রেঞ্জ
- Uppercase (A-Z): 65-90
- Lowercase (a-z): 97-122
- Digits (0-9): 48-57
- Special: বাকি সব
C++ বাস্তবায়ন
#include
using namespace std;
void count(string str) {
int upper = 0, lower = 0, digit = 0, special = 0;
for (char c : str) {
if (c >= 'A' && c <= 'Z') upper++;
else if (c >= 'a' && c <= 'z') lower++;
else if (c >= '0' && c <= '9') digit++;
else special++;
}
cout << "Uppercase: " << upper << endl;
cout << "Lowercase: " << lower << endl;
cout << "Digits: " << digit << endl;
cout << "Special: " << special << endl;
}
int main() {
string str = "Tutori@lPo!n&90";
count(str);
return 0;
}
আউটপুট
Uppercase: 2 Lowercase: 8 Digits: 2 Special: 3
অ্যাল্টারনেটিভ: cctype লাইব্রেরি
#include
if (isupper(c)) upper++;
else if (islower(c)) lower++;
else if (isdigit(c)) digit++;
else special++;
সময় জটিলতা
O(n) - স্ট্রিং একবার ট্রাভার্স। স্পেস O(1)।