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

C++ में लगातार वर्णों को एक पंक्ति में साथ प्रिंट करें


इस समस्या में, हमें वर्णों की एक स्ट्रिंग दी गई है और हमें उसी स्ट्रिंग को इस तरह प्रिंट करना है कि यदि दो या अधिक वर्ण लगातार हैं तो उन्हें एक ही पंक्ति में साथ प्रिंट करें अन्यथा उन्हें अलग-अलग पंक्तियों में प्रिंट करें यानी लाइन ब्रेक के साथ।

आइए एक उदाहरण लेकर अवधारणा को बेहतर ढंग से समझते हैं,

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

  1. C++ में बाइनरी ट्री लॉन्गेस्ट कंसिक्यूटिव सीक्वेंस - माता-पिता से बच्चा पथ C++ में बाइनरी ट्री लॉन्गेस्ट कंसिक्यूटिव सीक्वेंस - माता-पिता से बच्चा पथ

    समस्या विवरण मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें सबसे लंबे लगातार अनुक्रम पथ की लंबाई ढूंढनी है। यदि पथ किसी प्रारंभिक नोड से ट्री में किसी भी नोड तक माता-पिता-बच्चा कनेक्शन के साथ नोड्स के किसी भी अनुक्रम को संदर्भित करता है। सबसे लंबा लगातार पथ माता-पिता से बच्चे का पालन करना चाहिए लेकिन

  1. C++ में बाइनरी ट्री प्रिंट करना C++ में बाइनरी ट्री प्रिंट करना

    मान लीजिए हमें एक बाइनरी ट्री को m×n 2D स्ट्रिंग सरणी में इन नियमों के आधार पर प्रदर्शित करना है: पंक्ति संख्या m दी गई बाइनरी ट्री की ऊंचाई के समान होनी चाहिए। स्तंभ संख्या n हमेशा एक विषम संख्या होनी चाहिए। रूट नोड का मान पहली पंक्ति के ठीक बीच में रखा जाना चाहिए जहां इसे रखा जा सकता है। वह स्तं

  1. C++ प्रोग्राम: लेवल ऑर्डर ट्रैवर्सल लाइन दर लाइन प्रिंट करना C++ प्रोग्राम: लेवल ऑर्डर ट्रैवर्सल लाइन दर लाइन प्रिंट करना

    दिए गए बाइनरी ट्री में, फ़ंक्शन को ट्री के लेवल ऑर्डर ट्रैवर्सल को लाइन दर लाइन ढूंढना होगा। लेवल ऑर्डर ट्रैवर्सल: लेफ्ट रूट राइट, जिसका अर्थ है पहले किसी नोड के बाएं बच्चे को प्रिंट करें फिर रूट का मान और फिर दाएं बच्चे पर जाएं लेकिन यहां हमें लाइन दर लाइन करना है जो दिए गए बाइनरी ट्री के बाएं नोड