एक स्ट्रिंग एक एक-आयामी कैरेक्टर सरणी है जो नल कैरेक्टर द्वारा समाप्त होती है। स्ट्रिंग में कैरेक्टर्स की फ्रीक्वेंसी वह संख्या है जितनी बार वे स्ट्रिंग में आते हैं। उदाहरण के लिए:
स्ट्रिंग: Football is a sport उपरोक्त स्ट्रिंग में वर्ण o की फ्रीक्वेंसी 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<<"स्ट्रिंग में वर्ण "<<c<<" की फ्रीक्वेंसी है "<<count; return 0; } आउटपुट
स्ट्रिंग में वर्ण a की फ्रीक्वेंसी है 4
उपरोक्त प्रोग्राम में, दी गई स्ट्रिंग के लिए वर्ण a की फ्रीक्वेंसी खोजने के लिए फॉर लूप का उपयोग किया जाता है। फॉर लूप में, यदि str[i] वर्ण के बराबर है, तो count को 1 से बढ़ाया जाता है। count का यह मान वर्ण की फ्रीक्वेंसी के रूप में प्रदर्शित किया जाता है। इसके लिए कोड स्निपेट निम्नानुसार है।
for(int i = 0; str[i] != '\0'; i++) { if(str[i] == c) count++; } cout<<"स्ट्रिंग में वर्ण "<<c<<" की फ्रीक्वेंसी है "<<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<<"स्ट्रिंग में सभी वर्णों की फ्रीक्वेंसी है:"<<endl; for (i = 0; i < 26; i++) cout<< char(i + 'a')<<" : "<< alphabet[i]<< endl; return 0; } आउटपुट
स्ट्रिंग में सभी वर्णों की फ्रीक्वेंसी है: 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
उपरोक्त प्रोग्राम में, स्ट्रिंग में सभी वर्णों की फ्रीक्वेंसी खोजने के लिए व्हाइल लूप का उपयोग किया जाता है। एक सरणी alphabet[] सभी वर्णों की फ्रीक्वेंसी संग्रहीत करती है। वेरिएबल j वर्ण का संख्यात्मक मान संग्रहीत करता है यानी a 0 है, b 1 है और इसी तरह। फिर सरणी alphabet के jवें इंडेक्स को 1 से बढ़ाया जाता है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित होता है:
while (str[i] != '\0') { if (str[i] >= 'a' && str[i] <= 'z') { j = str[i] - 'a'; ++alphabet[j]; } ++i; } पूरी स्ट्रिंग का मूल्यांकन होने के बाद, वर्णों की फ्रीक्वेंसी प्रिंट की जाती है। यह निम्नानुसार दिखाया गया है।
cout<<"स्ट्रिंग में सभी वर्णों की फ्रीक्वेंसी है:"<<endl; for (i = 0; i < 26; i++) cout<< char(i + 'a')<<" : "<< alphabet[i]<< endl;