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

C++ में शब्द सूचियों की सूची से बनने वाले सभी वाक्यों को पुनरावर्ती रूप से प्रिंट करें


शब्दों की एक सूची दी गई है। लक्ष्य उन सभी संभावित वाक्यों को बनाना है जो सूची से शब्द लेकर पुनरावर्ती दृष्टिकोण का उपयोग करके बनाए जा सकते हैं। आप दोनों सूचियों से एक समय में केवल एक शब्द ले सकते हैं।

आइए इसके लिए विभिन्न इनपुट आउटपुट परिदृश्य देखें

इनपुट -

sentence[row][col] = {{"I", "You"},    {"Do", "do not like"},    {"walking", "eating"}}

आउटपुट    -

I Do walking I Do eating I like walking I like eating You Do walking You Do eating You like walking You like eating

व्याख्या - sentence[0-2] में प्रत्येक सूची से एक शब्द लेने पर उपरोक्त वाक्य मिलते हैं।

इनपुट -

sentence[row][col] = {{"work", "live"},{"easy", "happily"}}

आउटपुट -

work easy work happily live easy live happily

व्याख्या - sentence[0-1] में प्रत्येक सूची से एक शब्द लेने पर उपरोक्त वाक्य मिलते हैं।

  • row][col के रूप में स्ट्रिंग प्रकार का 2-D सरणी घोषित करें। Recursive_Print(sentence) फ़ंक्शन को डेटा पास करें।

  • फ़ंक्शन Recursive_Print(sentence) के अंदर

    • row प्रकार की स्ट्रिंग प्रकार की सरणी arr बनाएं।

    • i को 0 से col से कम तक लूप FOR शुरू करें। लूप के अंदर, जांचें IF sentence[0][i] खाली नहीं है तो Recursion(sentence, 0, i, arr) फ़ंक्शन को कॉल करें।

  • फ़ंक्शन Recursion(string sentence[row][col], int temp_1, int temp_2, string arr[row]) के अंदर

    • arr[temp_1] को sentence[temp_1][temp_2] पर सेट करें।

    • जांचें IF temp_1, row - 1 है तो i को 0 से row से कम तक लूप FOR शुरू करें। लूप के अंदर, arr[i] प्रिंट करें।

    • i को 0 से col से कम तक लूप FOR शुरू करें। लूप के अंदर, जांचें IF sentence[temp_1+1][i] स्पेस के बराबर नहीं है तो Recursion(sentence, temp_1+1, i, arr) फ़ंक्शन को पुनरावर्ती कॉल करें।

  • परिणाम प्रिंट करें।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण इस प्रकार है

उदाहरण

#include<bits/stdc++.h> #define row 3 #define col 3 using namespace std; void Recursion(string sentence[row][col], int temp_1, int temp_2, string arr[row]){     arr[temp_1] = sentence[temp_1][temp_2];     if(temp_1 == row - 1){       for(int i=0; i < row; i++){           cout << arr[i] << " ";       }       cout << endl;       return;     }     for(int i=0; i < col; i++){       if(sentence[temp_1+1][i] != ""){           Recursion(sentence, temp_1+1, i, arr);       }     } } void Recursive_Print(string sentence[row][col]){     string arr[row];     for(int i=0; i < col; i++){       if(sentence[0][i] != ""){           Recursion(sentence, 0, i, arr);       }     } } int main(){     string sentence[row][col] = {{"Ajay", "sanjay"},{"Like", "is"},{"Reading", "eating"}};     Recursive_Print(sentence);     return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा

Ajay Like Reading Ajay Like eating Ajay is Reading Ajay is eating sanjay Like Reading sanjay Like eating sanjay is Reading sanjay is eating

  1. C++ में दिए गए नोड से दूरी K पर सभी नोड्स प्रिंट करना C++ में दिए गए नोड से दूरी K पर सभी नोड्स प्रिंट करना

    इस समस्या में, हमें एक बाइनरी ट्री, एक टारगेट नोड और एक पूर्णांक K दिया गया है। हमें ट्री के उन सभी नोड्स को प्रिंट करना है जो टारगेट नोड से दूरी K पर हैं। बाइनरी ट्री बाइनरी ट्री एक विशेष ट्री है जिसके प्रत्येक नोड में अधिकतम दो नोड्स होते हैं (एक/दो/कोई नहीं)। उदाहरण K = 2 टारगेट नोड: 9 आउटपुट

  1. C++ में लीफ नोड से दूरी K पर सभी नोड्स प्रिंट करना C++ में लीफ नोड से दूरी K पर सभी नोड्स प्रिंट करना

    इस समस्या में, हमें एक बाइनरी ट्री और एक संख्या K दी गई है। हमें ट्री के उन सभी नोड्स को प्रिंट करना है जो लीफ नोड से k दूरी पर हैं। बाइनरी ट्री बाइनरी ट्री एक विशेष ट्री है जिसके प्रत्येक नोड में अधिकतम दो नोड्स होते हैं (एक/दो/कोई नहीं)। लीफ नोड बाइनरी ट्री का लीफ नोड ट्री के अंत में स्थित नोड

  1. C++ में दिए गए स्रोत से गंतव्य तक सभी पथ प्रिंट करें C++ में दिए गए स्रोत से गंतव्य तक सभी पथ प्रिंट करें

    इस समस्या में हमें एक निर्देशित ग्राफ दिया गया है और हमें ग्राफ के स्रोत से गंतव्य तक सभी पथ प्रिंट करने हैं। निर्देशित ग्राफ एक ग्राफ है जिसमें किनारे शीर्ष a से b की ओर निर्देशित होते हैं। समस्या को समझने के लिए एक उदाहरण लेते हैं स्रोत = K गंतव्य = P आउटपुट: P यहां, हमने K से P तक के पथ ढूंढे