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

एक स्ट्रिंग में वर्णों की गणना करें जिनके ASCII मान C++ में प्रमुख हैं

हमें किसी भी लम्बाई की एक स्ट्रिंग दी जाती है जिसमें अपरकेस और लोअरकेस दोनों अक्षर होते हैं और कार्य उन वर्णों की गिनती की गणना करना है जिनके ASCII मान प्रमुख हैं।

अपरकेस अक्षरों [A-Z] के ASCII मान 65 से 90 तक शुरू होते हैं और छोटे अक्षर [a-z] 97 से 122 तक शुरू होते हैं।

उदाहरण के लिए

Input string str = ‘Aebg’
Output count is: 2

स्पष्टीकरण -ए के लिए एएससीआईआई मूल्य 65 है जो एक गैर-अभाज्य संख्या है, इसलिए इसे गिना नहीं जाएगा, ई 101 है जो एक प्रमुख संख्या है इसलिए इसे गिना जाएगा, बी 66 है जो एक गैर-अभाज्य संख्या है इसलिए यह नहीं होगा गिना जाएगा और g 103 है जो एक अभाज्य संख्या है इसलिए इसे गिना जाएगा। इसलिए, कुल मिलाकर 2 अक्षर हैं जिनका ASCII मान प्राइम है।

Input − string str = ‘GOXFH’
Output − count is: 2

स्पष्टीकरण -G के लिए ASCII मान 71 है जो एक अभाज्य संख्या है इसलिए इसे गिना जाएगा, O 79 है जो एक अभाज्य संख्या है इसलिए इसे गिना जाएगा, X 88 है जो एक गैर-अभाज्य संख्या है इसलिए इसे नहीं गिना जाएगा , F 70 है जो एक अभाज्य संख्या नहीं है इसलिए इसे गिना नहीं जाएगा और H 72 है जो एक अभाज्य संख्या नहीं है इसलिए इसे गिना नहीं जाएगा। इसलिए, कुल मिलाकर 2 अक्षर हैं जिनका ASCII मान प्राइम है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • स्ट्रिंग इनपुट करें और इसे एक वेरिएबल में स्टोर करें मान लें कि str

  • लंबाई () फ़ंक्शन का उपयोग करके स्ट्रिंग str की लंबाई की गणना करें जो रिक्त स्थान सहित स्ट्रिंग में अक्षरों की संख्या के अनुसार एक पूर्णांक मान लौटाएगा।

  • प्राइम वैल्यू की गणना के लिए एक फ़ंक्शन घोषित करें जिसे हम निर्धारित प्रत्येक अक्षर के खिलाफ जांचेंगे

  • लूप को i से 0 से शुरू करके स्ट्रिंग की लंबाई तक ट्रैवर्स करें

  • लूप के अंदर, जांचें कि किसी वर्ण का ASCII मान अभाज्य है या नहीं। यदि यह एक अभाज्य है, तो 1 से गिनती बढ़ाएँ अन्यथा मान में वृद्धि न करें।

  • गिनती का कुल मान लौटाएं

  • परिणाम प्रिंट करें।

उदाहरण

#include <iostream>
#include <vector>
using namespace std;
#define max_val 257
// Function to find prime characters in the string
int countprime(string str){
   // Using SIEVE for finding the prime numbers less
   // than Equal to 'max_val'
   // A Boolean array "prime[0..n]". A
   // value in prime[i] will finally be false
   // if i is Not a prime, else true.
   vector<bool> prime(max_val + 1, true);
   // 0 and 1 are not primes
   prime[0] = false;
   prime[1] = false;
   for (int p = 2; p * p <= max_val; p++){
      // If prime[p] is not changed, then
      // it is a prime
      if (prime[p] == true) {
         // Upfating the all multiples of p
         for (int i = p * 2; i <= max_val; i += p){
            prime[i] = false;
         }
      }
   }
   int result = 0;
   // traversing the whole string.
   for (int i = 0; i < str.length(); ++i){
      if (prime[int(str[i])]){
         result++;
      }
   }
   return result;
}
// main function
int main(){
   string str = "tutorialspoint";
   // print required answer
   cout <<"count is: "<< countprime(str);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

count is:1

  1. C++ में विपर्यय की घटनाओं की गणना करें

    हमें एक टेक्स्ट स्ट्रीम और एक शब्द के रूप में एक इनपुट दिया जाता है, और कार्य दिए गए टेक्स्ट स्ट्रीम में शब्द के विपर्यय की घटनाओं की संख्या का पता लगाना है। एनाग्राम एक शब्द से अक्षरों को पुनर्व्यवस्थित करके उत्पन्न होते हैं जो एक अलग शब्द या वाक्यांश के रूप में समाप्त होता है जैसे न्यूयॉर्क टाइम्स

  1. अक्षरों की संख्या जिनके ASCII मान C++ में N के अंकों के साथ बनाए जा सकते हैं

    इनपुट के रूप में एक सकारात्मक संख्या वाले लंबे चर को देखते हुए। लक्ष्य उन अक्षरों की संख्या ज्ञात करना है जिनके ASCII मान अंक संख्या के अंकों में मौजूद हैं। संख्या में से कोई दो अंक चुनें और उन्हें इस तरह व्यवस्थित करें कि वे अंग्रेजी अक्षरों का ASCII मान बना लें। ए-जेड के एएससीआईआई मान 65 से 90 तक

  1. पेड़ के नोड्स की गणना करें जिनके भारित स्ट्रिंग में सी ++ में एक स्वर होता है

    स्ट्रिंग के रूप में अपने नोड्स के वजन के साथ एक बाइनरी ट्री को देखते हुए। लक्ष्य उन नोड्स की संख्या का पता लगाना है जिनमें वजन होता है जैसे कि स्ट्रिंग में एक स्वर होता है। यदि वजन एयर है तो इसमें स्वर ए और ई हैं, इसलिए नोड की गणना की जाएगी। उदाहरण के लिए इनपुट मान डालने के बाद जो ट्री बनाया जाएग