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

C++で出現する順序で文字とその頻度を出力します


この問題、小文字の文字列が表示されます。文字列に出現する各文字の頻度を見つける必要があります。問題について詳しく説明するときの以下の例。

Input : “jskdk”
Output :
j 1
s 1
k 2
d 1

説明 −文字列では、文字j、s、dが1回出現し、kが2回出現します。したがって、印刷された出力は上記の結果になります。

次に、この問題を解決するためのロジックを作成しましょう。前述のように、文字列内の各文字の出現頻度を見つける必要があります。論理的な方法の1つは、文字列をトラバースして文字の出現頻度をカウントし、それを配列に格納してから、出現頻度とともに文字を出力することです。

アルゴリズム
Step 1 : Create an array of size 26 that stores the frequency of characters in the string.
Step 2 : print all the characters along with their frequency of occurrence from the array.

それでは、この問題の解決策を見つけるためのプログラムを作成しましょう。

#include <bits/stdc++.h>
using namespace std;
int main(){
   string str = "tutorialspoint";
   int n = str.size();
   int frequency[26];
   memset(frequency, 0, sizeof(frequency));
   for (int i = 0; i < n; i++)
      frequency[str[i] - 'a']++;
   for (int i = 0; i < n; i++) {
      if (frequency[str[i] - 'a'] != 0) {
         cout<<str[i]<<"\t"<<frequency[str[i] - 'a']<<"\n";
         frequency[str[i] - 'a'] = 0;
      }
   }
   return 0;
}

出力

t 3
u 1
o 2
r 1
i 2
a 1
l 1
s 1
p 1
n 1

  1. 文字列を降順で並べ替えるC++

    ただし、昇順または降順の並べ替えは、C++プログラミングでも文字列の並べ替え方法やその他の手段を使用して適切に実行できます。ただし、ここでは、内側と外側のトラバースループに含まれる文字列比較(最初の単語と2番目の単語)およびコピー(一時変数の最初の単語をコピー)メソッドを使用して、単語を次のように降順で配置します。 例 #include<bits/stdc++.h> using namespace std; int main(){    char str[3][20]={"Ajay","Ramesh","Mahe

  2. 文字列の最初と最後の文字が等しいかどうかをチェックするC++プログラム

    文字列の入力で与えられ、タスクは与えられた文字列の最初と最後の文字が等しいかどうかをチェックすることです。 例 Input-: study Output-: not equal    As the starting character is ‘s’ and the end character of a string is ‘y’ Input-: nitin Output-: yes it have first and last equal characters    As the starting char