Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में ASCII मानों के योग से कम और k से अधिक वाले शब्दों की संख्या की गणना करें

हमें एक स्ट्रिंग 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

  1. उन नोड्स की गणना करें जिनका योग X के साथ C++ में एक फाइबोनैचि संख्या है

    एक बाइनरी ट्री दिया गया है जिसके नोड्स के भार संख्याओं के रूप में हैं। लक्ष्य उन नोड्स की संख्या का पता लगाना है जिनका वजन इस तरह है कि संख्या एक फाइबोनैचि संख्या है। फाइबोनैचि श्रृंखला में संख्याएं हैं:0, 1, 1, 2, 3, 5, 8, 13…। n वीं संख्या का योग है (n−1)वें और (n−2)वें। अगर वजन 13 है तो यह एक फाइ

  1. C++ . में [l, r] श्रेणी में ASCII मान वाले अक्षर गिनें और प्रिंट करें

    हमें किसी भी लंबाई की एक स्ट्रिंग के साथ दिया गया है और कार्य गिनती की गणना करना और एएससीआईआई मान वाले स्ट्रिंग में अक्षरों को प्रिंट करना है [l,r] A-Z वर्ण के लिए ASCII मान नीचे दिया गया है A बी सी डी ई एफ जी एच मैं जे के एल एम एन ओ पी प्रश्न आर एस 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

  1. आकार K के उप-सरणी की संख्या और C++ में औसत से अधिक या थ्रेसहोल्ड के बराबर औसत

    मान लीजिए कि हमारे पास arr पूर्णांकों की एक सरणी है और दो पूर्णांक k और थ्रेशोल्ड हैं। हमें k आकार के उप-सरणियों की संख्या और थ्रेशोल्ड से अधिक या उसके बराबर औसत का पता लगाना है। तो अगर इनपुट इस तरह है:[2,2,2,2,5,5,5,8] और के =3 और थ्रेशोल्ड =4, तो आउटपुट 3 होगा। क्योंकि उप-सरणी [2,5,5] , [5,5,5] और