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

C++での文字列の最大連続繰り返し文字


アルファベットの文字列が表示されます。タスクは、文字列で発生する連続した繰り返しが最も長い文字を見つけることです。例を挙げて理解しましょう。

入力 − string [] =“ abbbabbbbcdd”

出力 − b

説明 −上記の文字列で、最も長い連続シーケンスは文字「b」です。連続するbの数は4です。

入力 − string [] =“ aabbcdeeeeed”

出力 − b

説明 −上記の文字列で、最も長い連続シーケンスは文字「e」です。連続するeの数は5です。

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

  • 文字配列string1[]は、アルファベットの文字列を格納するために使用されます。

  • 関数maxRepeating(char str []、int n)は、2つの入力パラメーターを取ります。文字列自体、そのサイズ。連続する繰り返しシーケンスが最も長い文字を返します。

  • str[]の文字列を最初の位置から最後までトラバースします。

  • str[i]と次のstr[i+ 1]が同じ場合は、カウントをインクリメントします。

  • その数が最大の場合は、値をmaxCに、文字をrepcharに保存します。

  • 最終結果としてrepcharを返します。

#include <iostream>
#include <iostream>
char maxRepeating(char str[], int n){
   int count = 0;
   char repchar = str[0];
   int maxC = 1;
   for (int i=0; i<n; i++){
      if (str[i] == str[i+1] && i < n-1 )
         maxC++;
      else{
         if (maxC > count){
            count = maxC;
            repchar = str[i];
         }
         maxC = 1;
      }
   }
   return repchar;
}
int main(){
   char string1[] = "aaabbaacccddef";
   int N=14;
   printf("Maximum Consecutive repeating character in string: %c",maxRepeating(string1,N));
   return 0;
}

出力

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

Maximum Consecutive repeating character in string: a

  1. 文字列内の文字の頻度を見つけるC++プログラム

    文字列は、ヌル文字で終了する1次元の文字配列です。文字列内の文字の頻度は、文字列内で出現する回数です。例- String: Football is a sport The frequency of alphabet o in the above string is 3 特定のアルファベットの頻度を見つけるプログラムは次のとおりです。 例 #include <iostream> using namespace std; int main() {    char str[100] = "this string contains many alphabet

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

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