C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++で大文字、小文字、特殊文字、および数値をカウントします


大文字、小文字、特殊文字、数値を含む文字列も提供されます。タスクは、文字列内のすべてのタイプの文字、特殊文字、および数値の頻度を計算することです。

大文字 − A-Zは65〜90のASCII値を持ちます。ここで、65と90は包括的です。

小文字 − a --zは、97〜122のASCII値を持ちます。ここで、97と122は包括的です。

数値 − 0〜9は48〜57のASCII値を持ちます。ここで、48と57は包括的です。

特殊文字 −!、@、#、$、%、^、&、*

入力 − str =Tutori @ lPo!n&90

出力 −文字列内の大文字の合計は− 2

文字列内の小文字の合計は-8です

文字列の総数は− 2

文字列内の特殊文字の合計は− 3

入力 − str =WELc0m $

出力 −文字列内の大文字の合計は− 3

文字列内の小文字の合計は-2です

文字列の総数は-1です

文字列内の特殊文字の合計は-1です

以下のプログラムで使用されているアプローチは次のとおりです

  • 大文字、小文字、特殊文字、数値を含む文字列を入力します。

  • 文字列の長さを計算する

  • 変数を使用して、大文字、小文字、特殊文字、および数値の数を格納し、それらを0で初期化します。

  • 0から文字列のサイズまでループFORを開始します

  • ループ内で、IF str [i]>=Aおよびstr[i]<=Zを確認してから、大文字の数を増やします。

  • ループ内で、IF str [i]>=aおよびstr[i]<=zを確認してから、小文字の数を増やします。

  • ループ内で、IF str [i]>=0およびstr[i]<=9を確認してから、数値のカウントをインクリメントします。

  • それ以外の場合は、特殊文字の数を増やします。

  • 結果を印刷する

#include<iostream>
using namespace std;
//Count Uppercase, Lowercase, special character and numeric values
void count(string str){
   int Uppercase = 0;
   int Lowercase = 0;
   int digit = 0;
   int special_character = 0;
   for (int i = 0; i < str.length(); i++){
      if (str[i] >= 'A' && str[i] <= 'Z'){
         Uppercase++;
      }
      else if(str[i] >= 'a' && str[i] <= 'z'){
         Lowercase++;
      }
      else if(str[i]>= '0' && str[i]<= '9'){
         digit++;
      }
      else{
         special_character++;
      }
   }
   cout<<"Total Upper case letters in a string are: "<<Uppercase<< endl;
   cout<<"Total lower case letters in a string are: "<<Lowercase<< endl;
   cout<<"Total number in a string are: "<<digit<< endl;
   cout<<"total of special characters in a string are: "<<special_character<< endl;
}
int main(){
   string str = "Tutori@lPo!n&90";
   count(str);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Total Upper case letters in a string are: 2
Total lower case letters in a string are: 8
Total number in a string are: 2
total of special characters in a string are: 3

  1. C / C ++でのstrncmp()とstrcmp()の違い

    strncmp() 関数strncmp()は、左の文字列と右の文字列を数値まで比較するために使用されます。 strcmp()と同じように機能します。左の文字列の一致する文字が右の文字列の文字よりも大きいASCII値を持っている場合、ゼロより大きい値を返します。左の文字列の一致する文字のASCII値が右の文字列の文字よりも小さい場合、ゼロ未満の値を返します。 C言語でのstrncmp()の構文は次のとおりです。 int strncmp ( const char *leftString, const char *rightString, size_t number ); ここで le

  2. C++文字列定数と文字定数の違い

    C ++では、一重引用符で囲まれた文字は文字リテラルです。文字型です。たとえば、「a」は、ASCIIベースのシステムでは値97のchar型です。 二重引用符で囲まれた1文字または文字列は、文字列リテラルを表します。これはconstchar[]型であり、文字列の長さ+1のサイズの配列を参照します。その余分な文字は文字列の終わりを示すためにあります。 文字列リテラルは、「abcdefg」のように任意の長さにすることができます。文字リテラルには、ほとんどの場合、1文字だけが含まれます。これらが印刷されるとき、文字列リテラルは、文字列で最初の\0またはNULL文字が検出されるまで印刷されます。