हमें एक वाक्य या स्ट्रिंग दी गई है जिसमें शब्द हो सकते हैं जिनके बीच स्पेस, नई लाइन वर्ण और टैब वर्ण हो सकते हैं। कार्य स्ट्रिंग में कुल शब्दों की संख्या की गणना करना और परिणाम प्रिंट करना है।
इनपुट - string str = "welcome to\n tutorials point\t"
आउटपुट - स्ट्रिंग में शब्दों की संख्या - 4
व्याख्या - स्ट्रिंग में चार शब्द हैं: welcome, to, tutorials, point और बाकी स्पेस (" "), नई लाइन वर्ण (\n) और टैब वर्ण (\t) हैं जो शब्दों के बीच मौजूद हैं।
उपयोग किया गया दृष्टिकोण
इसके कई समाधान हो सकते हैं। आइए पहले नीचे दिए गए कोड में उपयोग किए गए सरल दृष्टिकोण को देखें -
- स्ट्रिंग संग्रहीत करने के लिए char प्रकार की एक सरणी बनाएं, मान लीजिए
str[] - दो अस्थायी चर घोषित करें: एक
countशब्दों की गिनती के लिए औरtempफ्लैग ऑपरेशन के लिए - WHILE लूप शुरू करें जब तक
strनल नहीं है - लूप के अंदर, जांचें IF
*str == ' ' || *str == '\n' || *str == '\t'तोtemp = 0सेट करें - अन्यथा IF
temp == 0तोtemp = 1सेट करें औरcountके मान को 1 से बढ़ाएं strपॉइंटर को 1 से बढ़ाएंcountमें मान लौटाएं- परिणाम प्रिंट करें
C++ कार्यान्वयन
#include <iostream>
using namespace std;
// count words in a given string
int total_words(char *str) {
int count = 0;
int temp = 0;
while (*str) {
if (*str == ' ' || *str == '\n' || *str == '\t') {
temp = 0;
} else if (temp == 0) {
temp = 1;
count++;
}
++str;
}
return count;
}
int main() {
char str[] = "welcome to\n tutorials point\t";
cout << "Count of words in a string are: " << total_words(str);
return 0;
}
आउटपुट
Count of words in a string are: 4