हमें एक स्ट्रिंग str दिया गया है जिसमें एक वाक्य और एक संख्या k है। लक्ष्य उन str की गिनती का पता लगाना है जिनका ascii मान k से कम है और ascii मान k से अधिक है।
ASCII - एक भाषा में प्रत्येक वर्ण को निर्दिष्ट संख्या के रूप में अद्वितीय कोड।
आइए उदाहरणों से समझते हैं।
इनपुट - str="यह ASCII है"। k=300
आउटपुट − k से कम ASCII मानों वाले शब्दों की संख्या है − 1
k से अधिक ASCII मानों के योग वाले शब्दों की संख्या है - 2
स्पष्टीकरण − शब्द “is” में ascii 300 से कम है अन्य दो और।
इनपुट - str="सेट सेट सेट"। k=300
आउटपुट − k से कम ASCII मानों वाले शब्दों की संख्या है − 0
k से अधिक ASCII मानों के योग वाले शब्दों की संख्या है - 3
स्पष्टीकरण - सभी शब्द समान हैं और 300 से अधिक एएससीआई हैं।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
हम लूप के लिए स्ट्रिंग स्ट्र को पार करेंगे। स्पेस के बाद प्रत्येक शब्द के लिए, str[i] को टोटल में जोड़ना शुरू करें। यदि यह> k. वेतन वृद्धि की संख्या।
-
स्ट्रिंग को str और पूर्णांक k के रूप में लें।
-
फंक्शन वर्ड्स_लेस_ग्रेटर (स्ट्रिंग स्ट्र, इंट के, इंट लेंथ) स्ट्रिंग लेता है और एएससीआई कम और के से अधिक वाले शब्दों की गिनती देता है।
-
str में प्रत्येक शब्द के ascii के लिए 0 के रूप में अस्थायी लें।
-
k से कम ASCII वाले शब्दों की गिनती के लिए 0 के रूप में गिनें।
-
k में कुल शब्दों के लिए कुल 0 लें।
-
लूप के लिए उपयोग कर ट्रैवर्स स्ट्र।
-
स्पेस के बाद प्रत्येक शब्द के लिए str[i]==' '। इसके अक्षर str [i] को temp में जोड़ें। शब्द के अंत के बाद, जांचें कि क्या temp
-
यदि केवल कुल वृद्धि नहीं है।
-
अंत में, गिनती में ऐसे कई शब्द होते हैं जिनमें ASCII k से कम होता है। कुल - गिनती k से अधिक ascii वाले शब्द होंगे।
-
परिणाम प्रिंट करें।
उदाहरण
#include <bits/stdc++.h> using namespace std; void words_less_greater(string str, int k, int length){ int temp = 0; int total = 0; int count = 0; for (int i = 0; i < length; ++i){ if (str[i] == ' '){ if (temp < k){ count++; } temp = 0; total++; } else{ temp += str[i]; } } total++; if (temp < k){ count++; } cout<<"Count of number of words having sum of ASCII values less than k are: "<< count; cout<<"\nCount of number of words having sum of ASCII values greater than k are: "<< total - count; } int main(){ string str = "tutorials point"; int k = 900; int length = str.length(); words_less_greater(str, k, length); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of number of words having sum of ASCII values less than k are: 1 Count of number of words having sum of ASCII values greater than k are: 1