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

उन स्ट्रिंग्स की गणना करें जो दिए गए पैटर्न से समाप्त होती हैं C++ में


हमें स्ट्रिंग्स का एक सरणी str[] और एक पैटर्न स्ट्रिंग pat दिया गया है। लक्ष्य str[] के उन स्ट्रिंग तत्वों को ढूंढना है जिनके अंत में पैटर्न pat हो।

हम str के प्रत्येक स्ट्रिंग को पार करेंगे और अंतिम वर्णों की तुलना pat से करेंगे। यदि वे मेल खाते हैं तो काउंट बढ़ाएं।

उदाहरण से समझते हैं

इनपुट

str[]={ "kittens", "hens", "deers", "dogs" } pat="ens"

आउटपुट

दिए गए पैटर्न से समाप्त होने वाली स्ट्रिंग्स: 2

व्याख्या

स्ट्रिंग्स "kitt-ens" और "h-ens" "ens" से समाप्त होती हैं।

इनपुट

str[]={ "tickets", "wickets", "bats", "cricket" } pat="et"

आउटपुट

दिए गए पैटर्न से समाप्त होने वाली स्ट्रिंग्स: 1

व्याख्या

स्ट्रिंग "wick-et" "et" से समाप्त होती है।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम स्ट्रिंग सरणी str[] और एक पैटर्न स्ट्रिंग pat लेते हैं।

  • N, str[] में स्ट्रिंग्स की संख्या है।

  • फ़ंक्शन endPattern(string str[], int n, string ptr) str में उन स्ट्रिंग्स की संख्या लौटाता है जो दिए गए पैटर्न से समाप्त होती हैं।

  • प्रारंभिक चर count को 0 से आरंभ करें।

  • i=0 से i

  • प्रत्येक स्ट्रिंग str[i] को s के रूप में लें। slen s.length() हो।

  • plen=ptr.length() लें। flag=1 लें।

  • अब plen और slen को 1 से घटाकर स्ट्रिंग s और पैटर्न ptr के अंतिम इंडेक्स प्राप्त करें।

  • व्हाइल लूप का उपयोग करके तब तक जांचें जब तक plen>=0।

  • यदि कोई s[slen]!=ptr[plen]। flag=0 सेट करें और लूप तोड़ें। अन्यथा अगले वर्ण की जांच के लिए plen और slen को घटाएं।

  • व्हाइल समाप्त होने के बाद, यदि flag अभी भी 1 है तो काउंट बढ़ाएं क्योंकि ptr s में होता है।

  • सभी लूप के अंत के बाद काउंट लौटाएं जो दिए गए पैटर्न से समाप्त होने वाली स्ट्रिंग्स की संख्या है।

उदाहरण

#include <bits/stdc++.h> using namespace std; int endPattern(string str[], int n, string ptr){    int count=0;    for(int i=0;i<n;i++){       string s=str[i];       int slen=s.length();       int plen=ptr.length();       int flag=1;       slen--; //अंतिम इंडेक्स       plen--;       while(plen>=0){          if(ptr[plen]!=s[slen]){             flag=0;             break;          }          plen--;          slen--;       }       if(flag==1)          { count++; }    }    return count; } int main(){    string patrn = "pes";    int N = 4;    string str[] = { "stripes", "cars", "ripes", "pipes" };    cout <<"दिए गए पैटर्न से समाप्त होने वाली स्ट्रिंग्स: "<<endPattern(str,N,patrn);    return 0; }

आउटपुट

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

दिए गए पैटर्न से समाप्त होने वाली स्ट्रिंग्स: 3

  1. - C++ में दी गई स्ट्रिंग से दिशा खोजें

    मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें केवल L और R हैं, यह क्रमशः बाएं घूर्णन और दाएं घूर्णन को दर्शाता है, हमें पिवट की अंतिम दिशा खोजनी है। यहां दिशाएं उत्तर (N), पूर्व (E), दक्षिण (S) और पश्चिम (W) हैं। हम मान रहे हैं कि पिवट कंपास में उत्तर (N) की ओर इंगित करता है। उदाहरण के लिए, यदि इनपुट RR

  1. - C++ में दी गई शर्त को पूरा करने वाली सभी संभावित N अंकों की संख्याओं की गणना करें

    इस ट्यूटोरियल में, हम दी गई शर्त को पूरा करने वाली संभावित N अंकों की संख्याओं की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक पूर्णांक प्रदान किया जाएगा। हमारा कार्य यह जांचना है कि N अंकों वाली कौन सी संख्या अनुसरण करती हैसंख्या + उल्टा(संख्या) = 10N -1उदाहरण#include <bits/

  1. - C++ प्रोग्राम: शब्दकोश में विशिष्ट पैटर्न से मेल खाने वाली सभी स्ट्रिंग्स ज्ञात करना

    मान लें हमारे पास स्ट्रिंग्स की एक सूची है जिसे शब्दकोश कहा जाता है। हमारे पास एक अन्य पैटर्न स्ट्रिंग है। हमारा कार्य उन स्ट्रिंग्स को ज्ञात करना है जो पैटर्न से मेल खाती हैं। मान लें शब्दकोश [abb, xyz, aab, kmm] की तरह है, और पैटर्न stt है, तो परिणाम abb और kmm होंगे। चूंकि पैटर्न में पहले एक अक्ष