C++を使用して特定の文字列の大文字を検出する
ある文字で構成される文字列「str」があるとします。タスクは、指定された文字列のすべての文字が大文字になっているかどうかを確認し、それぞれTrueまたはFalseを返すことです。たとえば、
入力-1 −
str = “INDIA”
出力 −
True
説明 −入力文字列のすべての文字が大文字であるため、この場合はtrueを返します。
入力-2 −
str = “Programmer”
出力 −
False
説明 −入力文字列のすべての文字が最初の文字を除いて大文字になっていないため、この場合はfalseを返します。
この問題を解決するために使用されるアプローチ
指定された文字列で、入力文字列のすべての文字が大文字になっているかどうかを確認する必要があります。したがって、文字列の各文字を繰り返し処理し、文字列が「A」より大きく「Z」より小さいかどうかを確認します。
条件が真の場合、カウンターを増やします。次に、先に進み、カウンターのサイズが文字列の長さと同じであるかどうかを再度確認してから、trueを返します。そうでない場合はfalseを返します。
-
文字列「str」を入力してください
-
ブール関数checkCapital(string s)は、入力として文字列を受け取り、文字列のすべての文字が大文字になっている場合はtrueを返します。
-
カウンター変数を取り、それをゼロとして初期化します。
-
文字列を繰り返し処理し、現在の文字が「A」から「Z」の範囲内にあるかどうかを確認します。条件が真の場合は、カウンター変数をインクリメントします。
-
これで、チェックカウンターは文字列のサイズと同じになり、それに応じてTrue/Falseが返されます。
-
カウンターが0の場合、または文字列に大文字の1文字が含まれている場合は、trueを返します。
例
#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」として取得されます。
-
C++を使用して文字列から特定の単語を削除する
この記事では、特定の文字列から特定の単語を削除する問題を解決します。例- Input : str = “remove a given word ”, word = “ remove ” Output : “ a given word ” Input : str = “ god is everywhere ”, word = “ is ” Output : “ god everywhere ” 解決策を見つけるためのアプローチ たとえば、単純なアプロ
-
C++を使用して文字列の部分文字列の数を見つける
この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &