문자열은 null 문자로 끝나는 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 루프는 주어진 문자열에 대한 알파벳의 빈도를 찾는 데 사용됩니다. for 루프에서 str[i]가 알파벳과 같으면 count는 1씩 증가합니다. 이 count 값은 알파벳의 빈도로 표시됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.
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 루프는 문자열의 모든 알파벳의 빈도를 찾는 데 사용됩니다. 배열 알파벳[]은 모든 알파벳의 빈도를 저장합니다. 변수 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;