কম্পিউটার টিউটোরিয়াল

রিকার্সন ব্যবহার করে সেন্টেন্স রিভার্স (Reverse) করার C++ প্রোগ্রাম


স্ট্রিং রিভার্স মানে ক্যারেক্টারগুলো বিপরীত ক্রমে প্রিন্ট বা সংরক্ষণ করা। রিকার্সনে এটি খুব সুন্দরভাবে করা যায়।

উদাহরণ কোড

#include <iostream>
using namespace std;

void reverse(char *str) {
    if (*str == '\0')
        return;
    else {
        reverse(str + 1);
        cout << *str;
    }
}

int main() {
    char str[] = "C++ is fun";
    cout << "Original String: " << str << endl;
    cout << "Reversed String: ";
    reverse(str);
    return 0;
}

আউটপুট

Original String: C++ is fun
Reversed String: nuf si ++C

ব্যাখ্যা

রিকার্সিভ ফাংশন reverse()

  • *str == '\0' হলে বেস কেস: রিটার্ন।
  • অন্যথায়: reverse(str + 1) কল করে পরবর্তী ক্যারেক্টারের জন্য রিকার্সন।
  • রিটার্ন হওয়ার সময় (unwinding phase) cout << *str প্রিন্ট করে। এতে লাস্ট ক্যারেক্টার প্রথমে প্রিন্ট হয় → রিভার্স হয়।

main()

স্ট্রিং ইনিশিয়ালাইজ, অরিজিনাল প্রিন্ট, reverse() কল।

নোট: এটি কেবল প্রিন্ট করে, স্ট্রিং মডিফাই করে না। স্ট্রিং মডিফাই করতে টু-পয়েন্টার অথবা std::reverse ব্যবহার করুন।

  1. C/C++-এ ক্লায়েন্ট-সার্ভার মডেল ব্যবহার করে স্ট্রিং রিভার্স করা

  2. জাভা প্রোগ্রাম: রিকার্শন ব্যবহার করে সেন্টেন্স (Sentence) রিভার্স করা

  3. পাইথন প্রোগ্রাম: রিকার্শন ছাড়া স্ট্রিং রিভার্স করা

  4. পাইথন প্রোগ্রাম: রিকার্শন ব্যবহার করে স্ট্রিং রিভার্স করা