আমাদের ইনপুট হিসাবে একটি পূর্ণসংখ্যা অ্যারে Arr[] দেওয়া হয়েছে। লক্ষ্য হল পুনরাবৃত্ত পদ্ধতি ব্যবহার করে অ্যারের মধ্যে সর্বাধিক এবং সর্বনিম্ন উপাদানগুলি খুঁজে বের করা৷
৷যেহেতু আমরা রিকার্সন ব্যবহার করছি, আমরা দৈর্ঘ্য=1 না পৌঁছা পর্যন্ত পুরো অ্যারেটি অতিক্রম করব তারপর A[0] ফেরত যা বেস কেস গঠন করে। অন্যথায় বর্তমান উপাদানের বর্তমান সর্বনিম্ন বা সর্বাধিকের সাথে তুলনা করুন এবং পরবর্তী উপাদানগুলির জন্য পুনরাবৃত্তির মাধ্যমে এর মান আপডেট করুন৷
আসুন এর জন্য বিভিন্ন ইনপুট আউটপুট পরিস্থিতি দেখি -
ইনপুট − Arr={12,67,99,76,32};
আউটপুট − অ্যারেতে সর্বোচ্চ :99
ব্যাখ্যা − সমস্ত উপাদানের মধ্যে 99টি সর্বাধিক।
ইনপুট − Arr={1,0,-99,9,3};
আউটপুট − ন্যূনতম অ্যারে :-99
ব্যাখ্যা − সমস্ত উপাদানের মধ্যে -99 তাদের মধ্যে সর্বনিম্ন।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
নূন্যতম খোঁজার জন্য
-
ইনপুট হিসাবে অ্যারে Arr[] নিন।
-
ফাংশন recforMin(int arr[], int len) ইনপুট অ্যারে এবং এর দৈর্ঘ্য নেয় এবং পুনরাবৃত্তি ব্যবহার করে অ্যারেতে সর্বনিম্ন রিটার্ন করে।
-
সর্বনিম্ন পূর্ণসংখ্যা পরিবর্তনশীল নিন
-
যদি বর্তমান সূচক লেন 1 হয় তাহলে ন্যূনতম=arr[0] এবং সর্বনিম্ন রিটার্ন সেট করুন।
-
অন্যথায় ন্যূনতম =ন্যূনতম arr[len] বা recforMin(arr,len-1) সেট করুন এবং এটি ফেরত দিন।
-
শেষে ন্যূনতম উপাদান ফেরত দেওয়া হবে।
-
প্রিন্ট ফলাফল প্রধান ভিতরে প্রাপ্ত.
নূন্যতম খোঁজার জন্য
-
সর্বাধিক খোঁজার জন্য
-
ইনপুট হিসাবে অ্যারে Arr[] নিন।
-
ফাংশন recforMax(int arr[], int len) ইনপুট অ্যারে এবং এর দৈর্ঘ্য নেয় এবং পুনরাবৃত্তি ব্যবহার করে অ্যারেতে সর্বাধিক প্রদান করে।
-
সর্বাধিক পূর্ণসংখ্যা পরিবর্তনশীল নিন।
-
যদি বর্তমান সূচী লেন 1 হয় তাহলে সর্বোচ্চ=arr[0] সেট করুন এবং সর্বোচ্চ রিটার্ন করুন।
-
অন্যথায় সর্বনিম্ন =সর্বাধিক arr[len] বা recforMax(arr,len-1) সেট করুন এবং এটি ফেরত দিন।
-
শেষে সর্বোচ্চ উপাদান ফেরত দেওয়া হবে।
-
প্রিন্ট ফলাফল প্রধান ভিতরে প্রাপ্ত.
পুনরাবৃত্তি ব্যবহার করে সর্বনিম্ন খোঁজা
উদাহরণ
#include <iostream> using namespace std; int recforMin(int arr[], int len){ int minimum; if (len == 1){ minimum=arr[0]; return minimum; } else{ return minimum=arr[len]<recforMin(arr,len-1)?arr[len]:recforMin(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Minimum in the array :"<<recforMin(Arr, length); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
Minimum in the array :-89
পুনরাবৃত্তি ব্যবহার করে সর্বনিম্ন খোঁজা
উদাহরণ
#include <iostream> using namespace std; int recforMax(int arr[], int len){ int maximum; if (len == 1){ maximum=arr[0]; return maximum; } else{ return maximum=arr[len]>recforMax(arr,len-1)?arr[len]:recforMax(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Maximum in the array :"<<recforMax(Arr, length); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
Maximum in the array :-100