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

C++で繰り返される文字列内の文字の出現をカウントします


文字列str、文字、および正の整数Nが与えられます。文字列strは無期限に繰り返されます。目標は、繰り返しの最初のN文字のstrでの文字の出現回数を見つけることです。

strが「abac」の場合、文字はch =‘b’、Nは10です。

「abacabacabacabac……」の最初の10文字。 bは2回発生します。

−同じケース内でstrと文字chを取ります。

例を挙げて理解しましょう。

入力

str = "TPTTTT" ch = 'T' n = 12

出力

Count of occurrences of a character in a repeated string are: 10

説明

The number of ‘T’ in str is 5. Length of str is 6.
For n=12, str will be fully repeated twice, so count of Ts is 6*2=12.

入力

str = "sets" ch = 's' n = 15

出力

Count of occurrences of a character in a repeated string are: 7

説明

The number of ‘s’ in str is 2. Length of str is 4.
For n=15, str will be fully repeated 3 times (first 12 characters), so count of s in those will be 3*2=6. For the remaining 3 characters (set) s occurs once. So count is 6+1=7

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

このアプローチでは、最初にstr内の文字chの出現回数をカウントします。次に、strの長さをNで除算します。N文字内のstrの完全な繰り返しの数を(N / strの長さ)で除算します。したがって、これらの繰り返しでのchの出現回数は単純な乗算になります。残りの文字(strのN%の長さ)については、strでchを再度カウントし、前のカウントに追加します。

  • 文字列strを取ります。

  • nを整数、chを文字、strの長さを整数とします。

  • 関数occurrences_char(string str、int length、int n、char ch)は、str、ch、n、およびstrの長さを取り、繰り返される文字列strの最初のn文字のchの数を返します。

  • 初期カウントを0とします。

  • strでのchのforループカウントオカレンスを使用します。 str [i] ==chごとに、カウントをインクリメントします。

  • nでのstrの繰り返しは、occ =n/lengthになります。

  • これらの繰り返しでのchの発生数はカウント*occになります。

  • strの残りのn%の長さの文字については、str [i] ==chかどうかを確認し、はいの場合はカウントをインクリメントします。

  • 結果としてカウントを返します。

#include <bits/stdc++.h>
using namespace std;
int occurrences_char(string str, int length, int n, char ch){
   int count = 0;
   for (int i = 0; i < length; i++){
      if (str[i] == ch){
         count++;
      }
   }
   int occ = n / length;
   count = count * occ;
   for (int i = 0; i < n % length; i++){
      if (str[i] == ch){
         count++;
      }
   }
   return count;
}
int main(){
   string str = "TPTTTT";
   char ch = 'T';
   int n = 12;
   int length = str.size();
   cout<<"Count of occurrences of a character in a repeated string are: "<<occurrences_char(str, length, n, ch);
   return 0;
}

出力

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

Count of occurrences of a character in a repeated string are − 10

  1. Androidで文字列内の各文字の出現をカウントする方法は?

    この例は、Androidで文字列内の各文字の出現をカウントする方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "htt

  2. 文字列内の文字の出現回数を Excel でカウント

    このチュートリアルでは、Excel の特定の文字列および文字列範囲内の文字または単語の出現回数について説明します。多くの場合、大量のデータを含むセルまたはデータ範囲内の文字の頻度を計算する必要があります。したがって、このカウント数を簡単にするために、この記事では使いやすい数式について説明します。 練習用ワークブックをダウンロード この記事の準備に使用した練習用ワークブックをダウンロードできます。 Excel で文字列内の文字の出現回数を数える 5 つの方法 1. SUMPRODUCT と LEN 関数を使用して、Excel で文字列内の文字出現回数の合計を求める セル内の総文字数を知