इस समस्या में, हमें वर्णों की एक स्ट्रिंग दी जाती है और हमें एक ही स्ट्रिंग को इस तरह से प्रिंट करना होता है कि यदि दो या अधिक वर्ण लगातार हैं तो उन्हें एक ही पंक्ति में एक साथ प्रिंट करें अन्यथा उन्हें अलग-अलग लाइनों में प्रिंट करें यानी लाइन ब्रेक के साथ।
आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं,
Input : abcxstk Output : abc x st k
स्पष्टीकरण − चूंकि abc एक क्रम में हैं वे एक पंक्ति में मुद्रित होते हैं। फिर x आता है जो क्रम में नहीं है, इसलिए हम यहां एक लाइनब्रेक जोड़ते हैं। अगला s है जो x के साथ अनुक्रम नहीं है इसलिए हम एक लाइनब्रेक जोड़ते हैं। अगला t है जो क्रम में s के साथ क्रम में मुद्रित है। अगला k है जो t के क्रम में नहीं है इसलिए हम एक लाइनब्रेक जोड़ते हैं।
यहां, हम स्ट्रिंग में अपने पिछले तत्व के साथ एक तत्व की जांच करेंगे। यदि वे क्रम में हैं तो सामान्य रूप से प्रिंट करें। अन्यथा, तत्व को लाइन ब्रेक के साथ प्रिंट करें।
उदाहरण
अब, इस तर्क के आधार पर एक प्रोग्राम बनाते हैं
#include <iostream> using namespace std; int main(){ string str = "stukfrpq"; cout << str[0]; for (int i=1; str[i]!='\0'; i++){ if ((str[i] == str[i-1]+1) || (str[i] == str[i-1]-1)) cout << str[i]; else cout << "\n" << str[i];; } return 0; }
आउटपुट
stu k f r pq