C Programming
  • মডিউল ১: বেসিক সিন্টেক্স, ভেরিয়েবলস এবং ডেটা টাইপ
    • মডিউল ১-০: সূচনা
    • মডিউল ১-১: বেসিক স্ট্রাকচার
    • মডিউল ১-২ + মডিউল ১-৩: প্রথম সি প্রোগ্রাম + সি আউটপুট
    • মডিউল ১-৪: প্রোগ্রাম রান করি
    • মডিউল ১-৫+ মডিউল ১-৬:ভেরিয়েবল এবং ডেটা টাইপ
    • মডিউল ১-৭+ মডিউল ১-৮: সি ইনপুট + এস্কেপ সিকুয়েন্স
    • মডিউল ১-৯+ মডিউল ১-১০: ডেটা টাইপ লিমিটেশন
    • মডিউল ১-১১: ভেরিয়েবল নামকরণের নিয়মাবলি
  • মডিউল ২ঃ অপারেটরস, কন্ডিশনাল স্টেটমেন্টস
    • মডিউল ২-০: সূচনা
    • মডিউল ২-১ঃ এরিথমেটিক অপারেটরস
    • মডিউল ২-২ঃ রিলেশনাল অপারেটরস
    • মডিউল ২-৩ঃ লজিকাল অপারেটরস
    • মডিউল ২-৪, ২-৫ঃ ইফ এলস
    • মডিউল ২-৬, ২-৭ঃ ইফ এলস লেডার
    • মডিউল ২-৮, ২-৯ঃ নেস্টেড ইফ এলস
  • মডিউল ৩ঃ লুপ
    • মডিউল ৩-০: সূচনা
    • মডিউল ৩-১, ৩-২: ফর লুপ টাইপ-১
    • মডিউল ৩-৩, ৩-৪: ফর লুপ টাইপ-২
    • মডিউল ৩-৫: ১ থেকে এন পর্যন্ত যোগফল
    • মডিউল ৩-6: লুপের সাথে কন্ডিশন
    • মডিউল ৩-৭, ৩-৮: ব্রেক, কন্টিনিউ স্টেটমেন্ট
    • মডিউল ৩-৯: While & Do While লুপ
  • মডিউল ৫ঃ কন্ডিশনাল স্টেটমেন্ট রিকেপ
    • মডিউল ৫-০ঃসূচনা
    • মডিউল ৫-১ঃ I. Welcome for you with Conditions
    • মডিউল ৫-২ঃ J. Multiples
    • মডিউল ৫-৩ঃ N. Char
    • মডিউল ৫-৪ঃ P. First digit !
    • মডিউল ৫-৫ঃ M. Capital or Small or Digit
    • মডিউল ৫-৬ঃ K. Max and Min
  • মডিউল ৬ঃ লুপ রিকেপ এবং নেস্টেড লুপ
    • মডিউল ৬-০: সূচনা
    • মডিউল ৬-১: ইনক্রিমেন্ট ডিক্রিমেন্ট অপারেটর
    • মডিউল ৬-২: ইভেন নাম্বারস
    • মডিউল ৬-৩: ইভেন, ওড, পজিটিভ, নেগেটিভ
    • মডিউল ৬-৪: ফিক্সড পাসওয়ার্ড
    • মডিউল ৬-৫, ৬-৬: ম্যাক্স, মিন
    • মডিউল ৬-৭: মাল্টিপ্লিকেশন টেবিল
    • মডিউল ৬-৮: ডিজিটস
    • মডিউল ৬-৯, ৬-১০: নেস্টেড ফর লুপ
  • মডিউল ৭ঃ ইন্ট্রোডাকশন টু এরে
    • মডিউল ৭-০: সূচনা
    • মডিউল ৭-১, ৭-২: এরে কি? কেন আমাদের এরে প্রয়োজন?
    • মডিউল ৭-৩,৭-৪: এরে এক্সেস করা
    • মডিউল ৭-৫,৭-৬: এরে ইনপুট আউটপুট
    • মডিউল ৭-৭: এরে ইনিশিয়ালাইজ করা
    • মডিউল ৭-৮: এরে রিভার্স করা
    • মডিউল ৭-৯: এরেতে সবগুলো ভেলু যোগ করা
  • মডিউল ৯ঃ অ্যারে অপারেশন
    • মডিউল ৯-০: সূচনা
    • মডিউল ৯-১ + ৯-২: ইনসার্ট ইলিমেন্ট
    • মডিউল ৯-৩ + ৯-৪: ডিলিট ইলিমেন্ট
    • মডিউল ৯-৫ + ৯-৬: রিভার্স অ্যারে
    • মডিউল ৯-৭ + ৯-৮: কপি অ্যারে
  • মডিউল ১০ঃ ইন্ট্রোডাকশন টু স্ট্রিং
    • মডিউল ১০-০: সূচনা
    • মডিউল ১০-১: স্ট্রিং কি?
    • মডিউল ১০-২: স্ট্রিং ইনিশিয়ালাইজ এবং প্রিন্ট
    • মডিউল ১০-৩: স্ট্রিং ইনপুট
    • মডিউল ১০-৪: স্ট্রিং ইনপুট স্পেস সহ
    • মডিউল ১০-৫: স্ট্রিং এর লেন্থ
    • মডিউল ১০-৬: ক্রিয়েট এ নিউ স্ট্রিং
    • মডিউল ১০-৭: লেটস ইউজ গেটলাইন
    • মডিউল ১০-৮: কাউন্ট
  • মডিউল ১১ঃ স্ট্রিং অপারেশন এবং ফিকোয়েন্সি এরে
    • মডিউল ১১-০ঃ সূচনা
    • মডিউল ১১-১ঃ স্ট্রিং কপি
    • মডিউল ১১-২, ১১-৩ঃ স্ট্রিং লেক্সিকোগ্রাফিকাল কম্পারিসন
    • মডিউল ১১-৪ঃ স্ট্রিং কনকেটিনেশন
    • মডিউল ১১-৫ঃ কাউন্টিং এরে অর ফ্রিকুয়েন্সি এরে
    • মডিউল ১১-৬ঃ কাউন্টিং ক্যারেক্টার
  • মডিউল ১৩: নেস্টেড লুপ রিক্যাপ
    • মডিউল ১৩-০ঃ সূচনা
    • মডিউল ১৩-১ঃ প্যাটার্ন ১
    • মডিউল ১৩-২ঃ প্যাটার্ন ২
    • মডিউল ১৩-৩ঃ প্যাটার্ন ৩
    • মডিউল ১৩-৪ঃ প্যাটার্ন ৪
    • মডিউল ১৩-৫+১৩-৬ঃ Sum of Two Values Equal X
    • মডিউল ১৩-৭+১৩-৮ঃ সিলেকশন সর্ট
  • মডিউল ১৪ঃ ফাংশন এবং পয়েন্টার
    • মডিউল ১৪-০ঃ সূচনা
    • মডিউল ১৪-১ঃ ফাংশন কি?
    • মডিউল ১৪-২ঃ রিটার্ন + প্যারামিটার
    • মডিউল ১৪-৩ঃ রিটার্ন + নো প্যারামিটার
    • মডিউল ১৪-৪ঃ নো রিটার্ন + প্যারামিটার
    • মডিউল ১৪-৫ঃ নো রিটার্ন + নো প্যারামিটার
    • মডিউল ১৪-৬ঃ ইউজফুল বিল্ট-ইন ফাংশন
    • মডিউল ১৪-৭ঃ স্কোপ্স
    • মডিউল ১৪-৮ঃ পয়েন্টার
  • মডিউল ১৫ঃ ফাংশন উইথ পয়েন্টার
    • মডিউল ১৫-০ঃ সূচনা
    • মডিউল ১৫-১ঃ পয়েন্টারস ইন সি
    • মডিউল ১৫-২ঃ কল বাই ভেলু
    • মডিউল ১৫-৩ঃ কল বাই রেফারেন্স
    • মডিউল ১৫-৪ঃ এরে এবং পয়েন্টার
    • মডিউল ১৫-৫ঃ ফাংশন এবং এরে
    • মডিউল ১৫-৬ঃ ফাংশন এবং স্ট্রিং
    • মডিউল ১৫-৭ঃ ফাংশন ইউথ এরে এস রেফারেন্স
  • মডিউল ১৭ঃ Recursion
    • মডিউল ১৭-১ঃ Call Stack
    • মডিউল ১৭-২ঃ রিকার্সন
    • মডিউল ১৭-৩ঃ Print From 1 to n Using Recursion
    • মডিউল ১৭-৪ঃ Print From 5 to 1 using Recursion
    • মডিউল ১৭-৫ঃArray Printing using Recursion
    • মডিউল ১৭-৬ঃ Print From 5 to 1 in Reverse Way
    • মডিউল ১৭-৭ঃ Length of a String using Recursion
  • মডিউল ১৮ঃ 2D এরে
    • মডিউল ১৮-০ঃ সূচনা
    • মডিউল ১৮-১ঃ 2D এরে কি?
    • মডিউল ১৮-২ঃ 2D এরে ইনপুট আউটপুট
    • মডিউল ১৮-৩ঃ 2D এরে প্রিন্টিং বাই রো এন্ড কলাম
    • মডিউল ১৮-৪ঃ ম্যাট্রিক্স এর প্রকারভেদ
    • মডিউল ১৮-৫ঃ জিরো অথবা নাল ম্যাট্রিক্স
    • মডিউল ১৮-৬ঃ ডায়াগোনাল ম্যাট্রিক্স ইউজিং 2D এরে
    • মডিউল ১৮-৭ঃ স্কেলার ম্যাট্রিক্স ইউজিং 2D এরে
    • মডিউল ১৮-৮ঃ ইউনিট ম্যাট্রিক্স ইউজিং 2D এরে
  • মডিউল ১৯ঃ রিকারশন রিকেপ
    • মডিউল ১৯-০ঃ সূচনা
    • মডিউল ১৯-১ঃ মিরর এরে
    • মডিউল ১৯-২ঃ সাম অফ এ ম্যাট্রিক্স
    • মডিউল ১৯-৩ঃ প্রিন্ট ডিজিটস ইউজিং রিকারশন
    • মডিউল ১৯-৪ঃ কাউন্ট ভাওয়েলস
    • মডিউল ১৯-৫ঃ ফেক্টরিয়াল
    • মডিউল ১৯-৬ঃ ম্যাক্স নাম্বার
    • মডিউল ১৯-৭ঃ পেলিনড্রোম
Powered by GitBook
On this page
  1. মডিউল ১৭ঃ Recursion

মডিউল ১৭-৫ঃArray Printing using Recursion

#include<stdio.h>

void fun(int a[], int n, int i) {
    // বেস কেস: যদি i এর মান n এর সমান হয়
    if(i == n) 
        return;
    
    // এই ইন্ডেক্সের মান প্রিন্ট করা
    printf("%d\n", a[i]);
    
    // পরবর্তী ইনডেক্সের জন্য রিকার্সিভ কল
    fun(a, n, i+1);
}

int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    
    // অ্যারের উপাদানগুলি ইনপুট নেওয়া
    for(int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    
    // রিকার্সিভ ফাংশন কল
    fun(a, n, 0);
    
    return 0;
}
  1. fun() ফাংশনটি নেওয়া হলো তিনটি আর্গুমেন্ট - একটি অ্যারে a[], অ্যারের মোট উপাদানের সংখ্যা n এবং একটি স্বাভাবিক সংখ্যা i।

  2. যদি i এর মান n এর সমান হয়, অর্থাৎ যদি সার্বিক বেস কেস পূরণ হয়, তবে ফাংশন থেকে return হতে হবে।

  3. আরেকটি, যদি বেস কেস পূরণ না হয়, তবে সেই সময়ে আমরা a[i] এর মান প্রিন্ট করব।

  4. তারপর, আমরা আবার একটি রিকার্সিভ কল করব ফাংশনের মধ্যে তিনটি আর্গুমেন্ট পাস করে - অ্যারে, অ্যারের মোট উপাদানের সংখ্যা, এবং এখন কত ইনডেক্সে প্রিন্ট করা হয়েছে, এই ইনডেক্স এর মান এক বাড়িয়ে পরের উপাদান প্রিন্ট করতে যাব।

  5. প্রথমে, মেইন ফাংশনে n এর মান ইনপুট হবে।

  6. তারপর, মেইন ফাংশনের মধ্যে নির্দিষ্ট সংখ্যা প্রকারের উপাদান ধারার জন্য একটি অ্যারে তৈরি করা হবে এবং সেই উপাদানগুলি ইনপুট হবে।

  7. সব তৈরি হওয়ার পরে, ফাংশন কল করা হবে সংখ্যা প্রিন্ট করার জন্য। এই ফাংশনে তিনটি প্যারামিটার পাস করা হবে - অ্যারে, অ্যারের মোট উপাদানের সংখ্যা, এবং প্রথম ইনডেক্স কে নির্দিষ্ট করার জন্য ইনডেক্স i।

  8. আমরা একেবারে প্রথম ইনডেক্স থেকে শুরু করে শেষ ইনডেক্স পর্যন্ত প্রত্যেকটি উপাদান প্রিন্ট করব এবং পরবর্তী ইনডেক্স প্রিন্ট করার জন্য রিকার্সিভ কল করব।

  9. প্রতিটি রিকার্সিভ কলে, i এর মান বাড়িয়ে পরের ইনডেক্স প্রিন্ট করার জন্য pass করা হবে।

  10. প্রতিটি ইন্ডেক্সের মান প্রিন্ট করা সম্পন্ন হওয়ার পরে, প্রোগ্রাম সমাপ্তি পায়।

এই প্রোগ্রামটি ব্যবহার করে আমরা অ্যারের প্রতিটি উপাদানকে ক্রমানুসারে প্রিন্ট করতে পারি।

Previousমডিউল ১৭-৪ঃ Print From 5 to 1 using RecursionNextমডিউল ১৭-৬ঃ Print From 5 to 1 in Reverse Way

Last updated 1 year ago