কম্পিউটার টিউটোরিয়াল

C++-এ স্ট্রিং-এ প্রথম বড় হাতের অক্ষর খুঁজে বের করা (ইটারেটিভ এবং রিকারসিভ)

এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি দেওয়া স্ট্রিং-এ প্রথম বড় হাতের (uppercase) অক্ষর খুঁজে বের করতে হয়। একটি উদাহরণ দেখি:

ইনপুট − Tutorialspoint

আউটপুট − T

ইটারেটিভ পদ্ধতি

ইটারেটিভ পদ্ধতিতে সমস্যা সমাধানের ধাপসমূহ:

  • স্ট্রিংটি ইনিশিয়ালাইজ করুন।

  • স্ট্রিংয়ের ওপর ইটারেট করুন।

  • isupper মেথড ব্যবহার করে বর্তমান ক্যারেক্টার বড় হাতের কিনা তা পরীক্ষা করুন।

  • যদি ক্যারেক্টারটি বড় হাতের হয়, তবে বর্তমান ক্যারেক্টারটি রিটার্ন করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#include <bits/stdc++.h> 
using namespace std; 

char firstUpperCaseChar(string str) { 
    for (int i = 0; i < str.length(); i++) 
        if (isupper(str[i])) { 
            return str[i]; 
        } 
    return 0; 
} 

int main() { 
    string str = "Tutorialspoint"; 
    char result = firstUpperCaseChar(str); 
    if (result == 0) { 
        cout << "No uppercase letter" << endl; 
    } 
    else { 
        cout << result << endl; 
    } 
    return 0; 
}

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফলটি পাওয়া যাবে:

T

রিকারসিভ পদ্ধতি

রিকারসিভ পদ্ধতিতে সমস্যা সমাধানের ধাপসমূহ:

  • স্ট্রিংটি ইনিশিয়ালাইজ করুন।

  • দুই প্যারামিটার (স্ট্রিং এবং ইন্ডেক্স) গ্রহণকারী একটি রিকারসিভ ফাংশন লিখুন।

  • যদি বর্তমান ক্যারেক্টার স্ট্রিংয়ের শেষ হয়, তবে রিটার্ন করুন।

  • যদি বর্তমান ক্যারেক্টার বড় হাতের হয়, তবে বর্তমান ক্যারেক্টারটি রিটার্ন করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#include <bits/stdc++.h> 
using namespace std; 

char firstUpperCaseChar(string str, int i = 0) { 
    if (str[i] == '\0') { 
        return 0; 
    } 
    if (isupper(str[i])) { 
        return str[i]; 
    } 
    return firstUpperCaseChar(str, i + 1); 
} 

int main() { 
    string str = "Tutorialspoint"; 
    char result = firstUpperCaseChar(str); 
    if (result == 0) { 
        cout << "No uppercase letter"; 
    } 
    else { 
        cout << result << endl; 
    } 
    return 0; 
}

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফলটি পাওয়া যাবে:

T

নিষ্কর্ষ

এই টিউটোরিয়াল সম্পর্কে আপনার কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. C++-এ বাইনারি ট্রি-এ ফুল নোড (Full Nodes) গণনা (ইটেরেটিভ ও রিকারসিভ)

  2. C++-এ বাইনারি ট্রি-এ হাফ নোড (Half Nodes) গণনা (ইটেরেটিভ ও রিকারসিভ)

  3. C++ স্ট্রিং ক্লাস এবং এর অ্যাপ্লিকেশন (String Class and Applications)

  4. C++-এ স্ট্রিংকে নম্বরে এবং নম্বরকে স্ট্রিংএ কনভার্ট করা