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

文字列内の文字の頻度を見つける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 alphabets";
   char c = 'a';
   int count = 0;
   for(int i = 0; str[i] != '\0'; i++) {
      if(str[i] == c)
      count++;
   }
   cout<<"Frequency of alphabet "<<c<<" in the string is "<<count;
   return 0;
}

出力

Frequency of alphabet a in the string is 4

上記のプログラムでは、forループを使用して、指定された文字列のアルファベットaの頻度を検索します。 forループでは、str [i]がアルファベットと等しい場合、カウントは1ずつ増加します。このカウントの値は、アルファベットの頻度として表示されます。このためのコードスニペットは次のとおりです。

for(int i = 0; str[i] != '\0'; i++) {
   if(str[i] == c)
   count++;
}
cout<<"Frequency of alphabet "<<c<<" in the string is "<<count;

文字列内のすべてのアルファベットの頻度を見つけるプログラムは次のとおりです。

#include <iostream>
using namespace std;
int main() {
   char str[100] = "this string contains many alphabets";
   int i = 0, alphabet[26] = {0}, j;
   while (str[i] != '\0') {
      if (str[i] >= 'a' && str[i] <= 'z') {
         j = str[i] - 'a';
         ++alphabet[j];
      }
      ++i;
   }
   cout<<"Frequency of all alphabets in the string is:"<<endl;
   for (i = 0; i < 26; i++)
   cout<< char(i + 'a')<<" : "<< alphabet[i]<< endl;
   return 0;
}

出力

Frequency of all alphabets in the string is:
a : 4
b : 1
c : 1
d : 0
e : 1
f : 0
g : 1
h : 2
i : 3
j : 0
k : 0
l : 1
m : 1
n : 4
o : 1
p : 1
q : 0
r : 1
s : 4
t : 4
u : 0
v : 0
w : 0
x : 0
y : 1
z : 0

上記のプログラムでは、whileループを使用して、文字列内のすべてのアルファベットの頻度を検索します。配列alphabet[]は、すべてのアルファベットの頻度を格納します。変数jは、アルファベットの数値を格納します。つまり、aは0、bは1などです。次に、配列アルファベットのj番目のインデックスが1ずつ増加します。これは、次のコードスニペット-

によって示されます。
while (str[i] != '\0') {
   if (str[i] >= 'a' && str[i] <= 'z') {
      j = str[i] - 'a';
      ++alphabet[j];
   }
   ++i;
}

文字列全体が評価された後、アルファベットの頻度が出力されます。これは次のように表示されます。

cout<<"Frequency of all alphabets in the string is:"<<endl;
for (i = 0; i < 26; i++)
cout<< char(i + 'a')<<" : "<< alphabet[i]<< endl;

  1. C++で三角形の図心を見つけるプログラム

    この問題では、三角形の3つの頂点の座標を示す2D配列が与えられます。私たちのタスクは、C++で三角形のセントロイドを見つけるプログラムを作成することです。 セントロイド 三角形の3つの中央値は、三角形の3つの中央値が交差する点です。 中央値 三角形の頂点は、三角形の頂点とその反対側の線の中心点を結ぶ線です。 問題を理解するために例を見てみましょう 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-3.5, -1) 説明 Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1) ソリューションアプロ

  2. C++で平行四辺形の面積を見つけるプログラム

    この問題では、平行四辺形の底と高さを表す2つの値が与えられます。私たちのタスクは、C++で平行四辺形の領域を見つけるプログラムを作成することです。 平行四辺形 は、反対側が等しく平行な4辺の閉じた図形です。 問題を理解するために例を見てみましょう 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積=B* H =20 * 15 =300 ソリューションアプローチ この問題を解決するために、平行四辺形の面積の幾何学的公式を使用します。 Area = base * height. ソリューションの動作を説明するプログラム 例 #include <io