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

C++ में कैमलकेस नोटेशन डिक्शनरी में पैटर्न से मेल खाने वाले सभी शब्द प्रिंट करें


इस समस्या में, हमें कैमलकेस में स्ट्रिंग की एक सरणी और एक पैटर्न दिया गया है। हमें सरणी के उन सभी स्ट्रिंग को प्रिंट करना है जो दिए गए पैटर्न से मेल खाते हैं।

स्ट्रिंग की सरणी एक सरणी है जिसमें तत्व स्ट्रिंग डेटा प्रकार के हैं।

कैमलकेस प्रोग्रामिंग में नामकरण की एक सामान्य विधि है, इसमें नए शब्द का पहला अक्षर अपरकेस से शुरू होता है, बाकी सभी लोअरकेस होते हैं।

उदाहरण - iLoveProgramming

समस्या - दिए गए पैटर्न से मेल खाने वाले सभी स्ट्रिंग ढूंढें।

उदाहरण -

Input : "TutorialsPoint" , "ProgrammersPoint" , "ProgrammingLover" , "Tutorials". Pattern : 'P' Output : "TutorialsPoint" , "ProgrammersPoint" , "ProgrammingLover"

व्याख्या - हमने उन सभी स्ट्रिंग पर विचार किया है जिनमें 'P' है।

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

उदाहरण

#include <bits/stdc++.h> using namespace std; struct TreeNode{     TreeNode* children[26];     bool isLeaf;     list<string> word; }; TreeNode* getNewTreeNode(void){     TreeNode* pNode = new TreeNode;     if (pNode){         pNode->isLeaf = false;         for (int i = 0; i < 26; i++)             pNode->children[i] = NULL;     }     return pNode; } void insert(TreeNode* root, string word){     int index;     TreeNode* pCrawl = root;     for (int level = 0; level < word.length(); level++){         if (islower(word[level]))             continue;         index = int(word[level]) - 'A';         if (!pCrawl->children[index])             pCrawl->children[index] = getNewTreeNode();         pCrawl = pCrawl->children[index];     }     pCrawl->isLeaf = true;     (pCrawl->word).push_back(word); } void printAllWords(TreeNode* root){     if (root->isLeaf){         for(string str : root->word)             cout << str << endl;     }     for (int i = 0; i < 26; i++){         TreeNode* child = root->children[i];         if (child)             printAllWords(child);     } } bool search(TreeNode* root, string pattern){     int index;     TreeNode* pCrawl = root;     for (int level = 0; level <pattern.length(); level++) {         index = int(pattern[level]) - 'A';         if (!pCrawl->children[index])             return false;         pCrawl = pCrawl->children[index];     }     printAllWords(pCrawl);     return true; } void findAllMatch(vector<string> dictionary, string pattern){     TreeNode* root = getNewTreeNode();     for (string word : dictionary)         insert(root, word);     if (!search(root, pattern))         cout << "No match found"; } int main(){     vector<string> dictionary = { "Tutorial" , "TP" , "TutorialsPoint" , "LearnersPoint", "TutorialsPointsPrograming" , "programmingTutorial"};     string pattern = "TP";     findAllMatch(dictionary, pattern);     return 0; }

आउटपुट

TP TutorialsPoint TutorialsPointsPrograming

  1. - C++ में कैमलकेस नोटेशन डिक्शनरी में पैटर्न से मेल खाने वाले सभी शब्द प्रिंट करें

    इस समस्या में, हमें कैमलकेस में स्ट्रिंग की एक सरणी और एक पैटर्न दिया गया है। हमें सरणी के उन सभी स्ट्रिंग को प्रिंट करना है जो दिए गए पैटर्न से मेल खाते हैं। स्ट्रिंग की सरणी एक सरणी है जिसमें तत्व स्ट्रिंग डेटा प्रकार के हैं। कैमलकेस प्रोग्रामिंग में नामकरण की एक सामान्य विधि है, इसमें नए शब्द का

  1. - C++ में दिए गए स्ट्रिंग के सभी सबस्ट्रिंग प्रिंट करने का प्रोग्राम

    इस ट्यूटोरियल में, हम दिए गए स्ट्रिंग के सभी सबस्ट्रिंग प्रिंट करने के प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक स्ट्रिंग या कैरेक्टर्स का ऐरे दिया जाएगा। हमारा कार्य उस विशेष स्ट्रिंग के सभी सबस्ट्रिंग प्रिंट करना है। उदाहरण #include using namespace std; // सभी सबस्ट्रिंग प्रिंट करना void pr

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

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