কম্পিউটার

C++ ব্যবহার করে একটি প্রদত্ত স্ট্রিং-এ ক্যাপিটাল সনাক্ত করুন


ধরা যাক আমাদের একটি স্ট্রিং আছে ‘str’ যেটিতে কিছু অক্ষর রয়েছে। কাজটি হল প্রদত্ত স্ট্রিংটির সমস্ত অক্ষর বড় করা আছে কিনা তা পরীক্ষা করা এবং যথাক্রমে True বা False প্রদান করা। উদাহরণস্বরূপ,

ইনপুট-1

str = “INDIA”

আউটপুট

True

ব্যাখ্যা − যেহেতু ইনপুট স্ট্রিং-এর সমস্ত ক্যারেক্টার ক্যাপিটাল, তাই আমরা এই ক্ষেত্রে true রিটার্ন করব।

ইনপুট-2

str = “Programmer”

আউটপুট

False

ব্যাখ্যা − যেহেতু ইনপুট স্ট্রিং এর সমস্ত অক্ষর প্রথম অক্ষর ব্যতীত ক্যাপিটালে নেই, তাই আমরা এই ক্ষেত্রে মিথ্যা ফেরত দেব।

এই সমস্যা সমাধানের জন্য ব্যবহৃত পদ্ধতি

প্রদত্ত স্ট্রিং-এ, ইনপুট স্ট্রিং-এর সমস্ত অক্ষর ক্যাপিটাল করা হয়েছে কিনা তা আমাদের পরীক্ষা করতে হবে। এইভাবে, আমরা স্ট্রিংয়ের প্রতিটি অক্ষরের উপর পুনরাবৃত্তি করব এবং এটি 'A'-এর থেকে বড় এবং 'Z'-এর চেয়ে কম কিনা তা পরীক্ষা করব৷

যদি শর্ত সত্য হয়, তাহলে আমরা পাল্টা বৃদ্ধি করব। তারপরে, আমরা এগিয়ে যাব এবং আবার পরীক্ষা করব যে কাউন্টারের আকার স্ট্রিংয়ের দৈর্ঘ্যের সমান কিনা, তারপর সত্য ফিরে আসবে, অন্যথায় মিথ্যা।

  • একটি স্ট্রিং 'str'

    এর ইনপুট নিন
  • একটি বুলিয়ান ফাংশন চেকক্যাপিটাল(স্ট্রিংগুলি) ইনপুট হিসাবে একটি স্ট্রিং নেয় এবং স্ট্রিংয়ের সমস্ত অক্ষর ক্যাপিটালাইজ করা হলে সত্য ফেরত দেয়।

  • একটি কাউন্টার ভেরিয়েবল নিন এবং এটিকে শূন্য হিসাবে শুরু করুন।

  • স্ট্রিংটির উপর পুনরাবৃত্তি করুন এবং বর্তমান অক্ষরটি 'A' থেকে 'Z' এর মধ্যে পড়ে কিনা তা পরীক্ষা করুন যদি শর্তটি সত্য হয় তবে কাউন্টার ভেরিয়েবলটি বৃদ্ধি করুন৷

  • এখন চেক কাউন্টারটি স্ট্রিংয়ের আকারের সমান এবং সেই অনুযায়ী সত্য/মিথ্যা প্রদান করে।

  • যদি কাউন্টারটি 0 হয় বা স্ট্রিংটিতে একটি অক্ষর থাকে যা ক্যাপিটাল হয়, তাহলে ট্রু রিটার্ন করুন৷

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
bool checkCapital(string s){
   int counter=0;
   int loc=i;
   for(int i=0;i<s.size();i++){
      if(s[i]>='A' && s[i]<= 'Z'){
         counter++;
         loc=i;
      }
   }
   if(counter==s.size() || counter==0 ||(counter==1 && loc==0))
      return true;
   return false;
}
int main(){
   string str= "INDIA";
   bool ans= checkCapital(str);
   if(ans){
      cout<<"True"<<endl;
   } else {
      cout<<"False"<<endl;
   }
   return 0;
}

আউটপুট

উপরের কোডটি চালানোর ফলে আউটপুট তৈরি হবে,

True

যেহেতু ইনপুট স্ট্রিং 'INDIA'-এ সমস্ত ক্যাপিটাল ক্যাপিটাল রয়েছে, তাই আমরা আউটপুটটি "True" হিসাবে পাই৷


  1. C++ ব্যবহার করে একটি ইনপুট স্ট্রিং-এ সর্বাধিক ঘটমান অক্ষর

  2. C++ ব্যবহার করে একটি প্রদত্ত সংখ্যার পুনরাবৃত্তি সংখ্যাগুলি সরান

  3. C++ ব্যবহার করে একটি স্ট্রিং থেকে একটি প্রদত্ত শব্দ সরান

  4. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন