इस समस्या के इनपुट में, एक वाक्य बिना रिक्त स्थान के दिया गया है, दूसरा शब्दकोश भी कुछ मान्य अंग्रेजी शब्दों का प्रदान किया गया है। हमें अलग-अलग शब्दकोश शब्दों में वाक्य को तोड़ने के संभावित तरीके खोजने होंगे।
हम एक वैध शब्द खोजने के लिए स्ट्रिंग के बाईं ओर से खोजने की कोशिश करेंगे, जब एक मान्य शब्द मिल जाएगा, तो हम उस स्ट्रिंग के अगले भाग में शब्दों की खोज करेंगे।
इनपुट और आउटपुट
इनपुट:शब्दकोश के रूप में मान्य शब्दों का एक सेट, और एक स्ट्रिंग जहां अलग-अलग शब्दों को रिक्त स्थान के बिना रखा जाता है। शब्दकोश:{मोबाइल, सैम, गाया, मैन, मैंगो, आइसक्रीम, और, गो, आई, लव, आइस, क्रीम दिए गए स्ट्रिंग:"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(),"");} आउटपुट
आई लव मैन गो आइसक्रीममी लव मैन गो आइसक्रीमी लव मैंगो आइसक्रीमआई लव मैंगो आइसक्रीम