আমাদের ইনপুট হিসাবে একটি পূর্ণসংখ্যা অ্যারে 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