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

शब्द विराम समस्या


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

हम एक वैध शब्द खोजने के लिए स्ट्रिंग के बाईं ओर से खोजने की कोशिश करेंगे, जब एक मान्य शब्द मिल जाएगा, तो हम उस स्ट्रिंग के अगले भाग में शब्दों की खोज करेंगे।

इनपुट और आउटपुट

इनपुट:शब्दकोश के रूप में मान्य शब्दों का एक सेट, और एक स्ट्रिंग जहां अलग-अलग शब्दों को रिक्त स्थान के बिना रखा जाता है। शब्दकोश:{मोबाइल, सैम, गाया, मैन, मैंगो, आइसक्रीम, और, गो, आई, लव, आइस, क्रीम दिए गए स्ट्रिंग:"ilovemangoicecream" आउटपुट:दिए गए शब्दों में स्ट्रिंग को तोड़ने के सभी संभावित तरीके। 

एल्गोरिदम

वर्डब्रेक(स्ट्रिंग, एन, परिणाम)

इनपुट − स्ट्रिंग को देखते हुए, स्ट्रिंग की लंबाई, अलग किए गए तार।

>आउटपुट - शब्दकोश का उपयोग करके स्ट्रिंग को अलग करें।

i के लिए शुरू करें:=0 से n, subStr करें:=दिए गए स्ट्रिंग का सबस्ट्रिंग (0..i) से अगर सबस्ट्र डिक्शनरी में है, तो अगर i =n, तो परिणाम:=परिणाम + सबस्ट्र परिणाम रिटर्न प्रदर्शित करता है वर्डब्रेक ((i..n-i), n-i, परिणाम, सबस्ट्र, 'स्पेस' से सबस्ट्रिंग) किया गयाअंत

उदाहरण

#include #define N 13 नेमस्पेस एसटीडी का उपयोग करते हुए; स्ट्रिंग डिक्शनरी [एन] ={"मोबाइल", "सैमसंग", "सैम", "संग", "मैन", "मैंगो", "आइसक्रीम", "और", "गो", "आई", "लव", "आइस", "क्रीम"}; int isInDict (स्ट्रिंग वर्ड) {// चेक करें कि शब्द डिक्शनरी में है या नहीं (int i =0; मैं <एन; i++) अगर (शब्दकोश [i]। तुलना (शब्द) ==0) सच हो; झूठी वापसी;} शून्य वर्डब्रेक (स्ट्रिंग स्ट्र, इंट एन, स्ट्रिंग परिणाम) {के लिए (इंट आई =1; आई <=एन; आई ++) {स्ट्रिंग सबस्ट्र =स्ट्र। सबस्ट्र (0, आई); // स्ट्रिंग के 0 से ith स्थान तक स्ट्रिंग प्राप्त करें यदि (isInDict (subStr)) {// if subStr शब्दकोश में पाया जाता है यदि (i ==n) {परिणाम + =subStr; // परिणाम में सबस्ट्रिंग जोड़ें। cout <<परिणाम <<एंडल; वापसी; } वर्डब्रेक (str.substr (i, n-i), n-i, परिणाम + सबस्ट्र + ""); // अन्यथा ब्रेक रेस्ट पार्ट}}}इंट मेन () {स्ट्रिंग स्ट्र ="iloveicecreamandmango"; वर्डब्रेक(str, str.size(),"");}

आउटपुट

आई लव मैन गो आइसक्रीममी लव मैन गो आइसक्रीमी लव मैंगो आइसक्रीमआई लव मैंगो आइसक्रीम

  1. पायथन में वर्ड ब्रेक II

    मान लीजिए कि हमारे पास एक गैर-रिक्त स्ट्रिंग s और वर्डडिक्ट नामक एक शब्दकोष है, इस शब्दकोश में गैर-रिक्त शब्दों की एक सूची है, एक वाक्य बनाने के लिए s में रिक्त स्थान जोड़ें जहां प्रत्येक शब्द है एक वैध शब्दकोश शब्द। हमें ऐसे सभी संभावित वाक्यों को खोजना होगा। एप्पलरेनकोट और शब्दकोश [ऐप, सेब, रेन, क

  1. पायथन में वर्ड ब्रेक

    मान लीजिए कि हमारे पास एक गैर-रिक्त स्ट्रिंग s और एक शब्दकोष wordDict है। इसमें गैर-रिक्त शब्दों की एक सूची है, यह निर्धारित करें कि कब s को एक या अधिक शब्दकोष शब्दों के स्थान-पृथक अनुक्रम में विभाजित किया जा सकता है। हमें कुछ नियमों का पालन करना होगा - शब्दकोश में एक ही शब्द का विभाजन में कई बार प

  1. एक स्ट्रिंग में एक शब्द की घटनाओं की गणना करने के लिए पायथन प्रोग्राम

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो यह गिनता है कि स्ट्रिंग में कोई शब्द कितनी बार आता है। आपको शब्द और एक स्ट्रिंग दी गई है, हमें स्ट्रिंग में शब्द की आवृत्ति की गणना करनी है। मान लीजिए हमारे पास एक स्ट्रिंग है मैं एक प्रोग्रामर हूं। मैं एक छात्र हूं। और शब्द है . हम जो प्रोग्रा