इस समस्या में, हमें वर्णों की एक स्ट्रिंग दी गई है और हमें उसी स्ट्रिंग को इस तरह प्रिंट करना है कि यदि दो या अधिक वर्ण लगातार हैं तो उन्हें एक ही पंक्ति में साथ प्रिंट करें अन्यथा उन्हें अलग-अलग पंक्तियों में प्रिंट करें यानी लाइन ब्रेक के साथ।
आइए एक उदाहरण लेकर अवधारणा को बेहतर ढंग से समझते हैं,
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