एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। एक स्ट्रिंग में वर्णों की आवृत्ति एक स्ट्रिंग में होने की संख्या है। उदाहरण के लिए -
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
उपरोक्त कार्यक्रम में, दिए गए स्ट्रिंग के लिए वर्णमाला a की आवृत्ति खोजने के लिए लूप के लिए उपयोग किया जाता है। लूप के लिए, यदि 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
उपरोक्त कार्यक्रम में, स्ट्रिंग में सभी अक्षरों की आवृत्ति को खोजने के लिए थोड़ी देर के लूप का उपयोग किया जाता है। एक सरणी वर्णमाला [] सभी अक्षरों की आवृत्ति को संग्रहीत करती है। चर j वर्णमाला के संख्यात्मक मान को संग्रहीत करता है अर्थात a 0 है, b 1 है और इसी तरह। फिर सरणी वर्णमाला की jth अनुक्रमणिका 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;