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

सी ++ में एक वाक्य में पैलिंड्रोम शब्दों की गणना करें

हमें एक स्ट्रिंग दी गई है जिसमें एक अंग्रेजी वाक्य है। लक्ष्य स्ट्रिंग में शब्दों की संख्या का पता लगाना है जो पैलिंड्रोम हैं। पैलिंड्रोम शब्द वे होते हैं जिन्हें शुरू या अंत से पढ़ने पर वर्णमाला क्रम समान होता है। यदि वाक्य "मैडम अच्छा मलयालम बोलती है" है, तो पैलिंड्रोम शब्दों की संख्या 2 है। (मैडम और मलयालम)

नोट − शब्दों में अपरकेस और लोअरकेस दोनों अक्षर हो सकते हैं।

आइए उदाहरणों से समझते हैं।

इनपुट − str ="माई मॉम एंड एना ने दोपहर को छोड़ दिया";

आउटपुट − एक वाक्य में पैलिंड्रोम शब्दों की संख्या है − 3

स्पष्टीकरण - उपरोक्त वाक्य में पालिंड्रोम शब्द हैं - मॉम, अन्ना और नून। (वर्णमाला के मामलों के बावजूद)

इनपुट − str="मैं रेसकार गेम में 121 के स्तर पर हूं"

आउटपुट − एक वाक्य में पैलिंड्रोम शब्दों की संख्या है − 4

स्पष्टीकरण -उपरोक्त वाक्य में पालिंड्रोम शब्द हैं - I, स्तर, 121, रेसकार। (वर्णमाला के मामलों के बावजूद)

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

हम प्रत्येक शब्द को एक वाक्य में "" स्थान के बाद लेंगे और इसे एक फ़ंक्शन में पास करेंगे। फ़ंक्शन शब्दों के वर्णों को लोअरकेस में बदल देता है। अब शब्द के पहले अक्षर से ट्रैवर्स करना शुरू करें और शब्द [0] की तुलना शब्द [लंबाई -1] से करें, शब्द [1] शब्द [लंबाई -2] और इसी तरह से करें। यदि कोई बेमेल होता है, तो लूप को तोड़ें और सही लौटें।

  • एक स्ट्रिंग सरणी लें str[] जिसमें एक वाक्य हो।

  • फ़ंक्शन चेक (स्ट्रिंग अतिरिक्त) एक स्ट्रिंग लेता है और यदि स्ट्रिंग पैलिंड्रोम है तो सत्य लौटाता है अन्यथा झूठा लौटाता है।

  • अतिरिक्त स्ट्रिंग की लंबाई की गणना len=extra.lenght() के रूप में करें।

  • (extra.begin(), extra.end(), extra.begin(), ::tolower);

    का उपयोग करके पूरे स्ट्रिंग को लोअरकेस में बदलें।
  • वर्ड के इंडेक्स 0 से इंडेक्स तक ट्रैवर्सिंग शुरू करें

  • अतिरिक्त [i] ==अतिरिक्त [लेन -1] की तुलना करें। यदि बेमेल होता है तो झूठी वापसी करें। अन्यथा सही लौटें।

  • फ़ंक्शन पैलिंड्रोम (स्ट्रिंग स्ट्र, इंट लेंथ) एक वाक्य और उसकी लंबाई लेता है और उसमें पैलिंड्रोम शब्दों की संख्या लौटाता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • अलग-अलग शब्दों को चुनने और संग्रहीत करने के लिए अस्थायी स्ट्रिंग अतिरिक्त =”” लें।

  • लूप के लिए इंडेक्स 0 से i<लंबाई तक का उपयोग करके वाक्य को ट्रैवर्स करना शुरू करें।

  • अस्थायी वर्ण लें temp=str.ar(i).

  • यदि अस्थायी स्थान नहीं है तो शब्द बनाने के लिए इसे अतिरिक्त में जोड़ें।

  • यदि अस्थायी स्थान नहीं है तो अगर (चेक(अतिरिक्त)) सही वृद्धि गणना देता है।

  • अतिरिक्त =”” फिर से बनाएं।

  • अंतिम गणना में पैलिंड्रोम शब्दों की कुल संख्या होगी।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
bool check(string extra){
   int len = extra.length();
   transform(extra.begin(), extra.end(), extra.begin(), ::tolower);
   for (int i = 0; i < len; i++,len--){
      if (extra.at(i) != extra.at(len - 1)){
         return false;
      }
   }
   return true;
}
int palindrome(string str, int length){
   int count = 0;
   string extra = "";
   for (int i = 0; i < length; i++){
      char temp = str.at(i);
      if (temp != ' '){
         extra = extra + temp;
      }
      else{
         if (check(extra))
            { count++; }
         extra = "";
      }
   }
   return count;
}
int main(){
   string str = "nitin wants nitin for his company named nitin after nitin";
   str = str + " ";
   int length = str.length();
   cout<<"Count of palindrome words in a sentence are: "<<palindrome(str, length)<<endl;
   return 0;
}

आउटपुट

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

Count of palindrome words in a sentence are: 4

  1. C++ में अतिरिक्त कोष्ठक हटाने के बाद एक स्ट्रिंग को संतुलित करें

    एक स्ट्रिंग वर्णों की एक सरणी है। इस समस्या में, हमें एक स्ट्रिंग दी जाती है जिसमें खोलने और बंद करने वाले कोष्ठक होते हैं। और हम स्ट्रिंग से अतिरिक्त कोष्ठक हटाकर इस स्ट्रिंग को संतुलित करेंगे। आइए एक उदाहरण लेते हैं, Input : “)Tutor)ials(p(oin)t(...)” Output : “Tutorials(p(oin)t

  1. पायथन प्रोग्राम में शब्दों को एक वाक्य में गिनें

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है, जिसे हमें स्ट्रिंग में शब्दों की संख्या गिनने की आवश्यकता है दृष्टिकोण 1 - विभाजन () फ़ंक्शन का उपयोग करना स्प्लिट फ़ंक्शन स्ट्रिंग को एक सीमांकक के रूप में अंतरिक्ष के साथ चलने योग्य सूची

  1. एक वाक्य में शब्दों को गिनने के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन हमें एक वाक्य दिया गया है, हमें वाक्य में शब्दों की संख्या गिनने की जरूरत है यहां हम दो दृष्टिकोणों पर चर्चा करेंगे - दृष्टिकोण 1 - विभाजन () फ़ंक्शन का उपयोग करना उदाहरण test_string = "Tuto