শব্দের একটি তালিকা দেওয়া হয়েছে৷ লক্ষ্য হল সমস্ত সম্ভাব্য বাক্য তৈরি করা যা একটি পুনরাবৃত্ত পদ্ধতি ব্যবহার করে তালিকা থেকে শব্দগুলি নিয়ে গঠিত হতে পারে। আপনি উভয় তালিকা থেকে একবারে শুধুমাত্র একটি শব্দ নিতে পারেন।
আসুন এর জন্য বিভিন্ন ইনপুট আউটপুট পরিস্থিতি দেখি
ইনপুট −
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
ব্যাখ্যা − বাক্যের [0-2] প্রতিটি তালিকা থেকে একটি করে শব্দ নিলে উপরের বাক্যগুলো পাওয়া যায়।
ইনপুট −
sentence[row][col] = {{"work", "live"},{"easy", "happily"}}
আউটপুট −
work easy work happily live easy live happily
ব্যাখ্যা − বাক্যে প্রতিটি তালিকা থেকে একটি শব্দ নিয়ে [0-1] উপরের বাক্যগুলি দেয়৷
-
বাক্য[সারি][কল] হিসাবে স্ট্রিং টাইপের একটি 2-ডি অ্যারে ঘোষণা করুন। Recursive_Print(বাক্য) হিসাবে ফাংশনে ডেটা পাস করুন।
-
Recursive_Print(বাক্য)
হিসাবে ফাংশনের ভিতরে-
arr[row] হিসাবে স্ট্রিং টাইপের একটি অ্যারে তৈরি করুন।
-
i থেকে 0 পর্যন্ত FOR লুপ শুরু করুন যতক্ষণ না i col থেকে কম হয়। লুপের ভিতরে চেক করুন যদি বাক্য[0][i] খালি না থাকে তারপরে Recursion (sentence, 0, i, arr) হিসেবে ফাংশনে কল করুন।
-
-
Recursion (স্ট্রিং বাক্য[সারি][কল], int temp_1, int temp_2, string arr[row])
-
arr[temp_1] কে বাক্যে [temp_1][temp_2] সেট করুন।
-
পরীক্ষা করুন যদি temp_1 সারি - 1 হয় তারপর i থেকে 0 থেকে i সারির থেকে কম না হওয়া পর্যন্ত FOR লুপ শুরু করুন। লুপের ভিতরে, arr[i] প্রিন্ট করুন।
-
i থেকে 0 পর্যন্ত FOR লুপ শুরু করুন যতক্ষণ না i col থেকে কম হয়। লুপের ভিতরে, চেক করুন IF বাক্য[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