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

সি++-এ অ্যারেতে ন্যূনতম ও সর্বোচ্চ উপাদান বের করার প্রোগ্রাম


এই সমস্যায়, আমাদের n পূর্ণসংখ্যার একটি অ্যারে arr[] দেওয়া আছে। আমাদের কাজ হল সি++-এ অ্যারেতে ন্যূনতম এবং সর্বোচ্চ উপাদান বের করার একটি প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা − এখানে, আমাদের একটি অ্যারে arr[] রয়েছে। এতে nটি পূর্ণসংখ্যা মান রয়েছে। আমাদের অ্যারেতে থাকা সব মানের মধ্যে সর্বোচ্চ মান এবং ন্যূনতম মান বের করতে হবে।

উদাহরণ দিয়ে বুঝতে চেষ্টা করি,

इनपुट

arr[] = {2, 1, 6, 9, 4, 10, 15, 21}

आउटपुट

max = 21 , min = 1

समाधान दृष्टिकोण

সমস্যার একাধিক সমাধান হতে পারে,

একটি সমাধান হবে সরাসরি অ্যারেতে উপাদানগুলো তুলনা করা। এটি করা হয় অ্যারেতে প্রতিটি উপাদান চেক করে এবং তারপর তুলনা ব্যবহার করে max এবং min বের করে।

এটি দুটি ভিন্ন পদ্ধতিতে করা যায়,

  • ইটারেটিভ পদ্ধতি
  • রিকার্সিভ পদ্ধতি

সমস্যা সমাধানের ইটারেটিভ পদ্ধতি,

আমরা অ্যারেটি লুপ করব, অ্যারেতে প্রতিটি উপাদান এক্সট্র্যাক্ট করব, এবং সেটি অ্যারেতে max এবং min উপাদানের সাথে তুলনা করব।

আমাদের সমাধানের কার্যকারিতা বোঝার জন্য প্রোগ্রাম,

उदाहरण

#include <iostream> using namespace std; void getMinMax(int arr[] , int N){    int max = arr[0], min = arr[0];    for(int i = 1; i < N; i++){       if(max < arr[i])          max = arr[i];       if(min > arr[i])          min = arr[i];    }    cout<<"Maximum Value = "<<max<<"\n";    cout<<"Minimum Value = "<<min; } int main(){    int arr[] = {2, 1, 6, 9, 4, 10, 15, 21};    int N = 8;    getMinMax(arr, N);    return 0; }

आउटपुट

Maximum Value = 21 Minimum Value = 1

समस्या समाधान के लिए रिकर्सिव दृष्टिकोण,

इस दृष्टिकोण में, हम समस्या को हल करेंगे अरे के सभी तत्वों के अधिकतम और न्यूनतम को ढूंढकर, सभी तत्वों के लिए बार-बार विधि को रिकर्सिवली कॉल करके।

हमारे समाधान के कामकाज को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream> using namespace std; int CalcMinValue(int arr[], int n) {    return (n == 1) ? arr[0] : min(arr[n - 1], CalcMinValue(arr, n - 1)); } int CalcMaxValue(int arr[], int n) {    return (n == 1) ? arr[0] : max(arr[n -1], CalcMinValue(arr, n - 1)); } int main() {    int arr[] = {2, 1, 6, 9, 4, 10, 15, 21};    int N = 8;    cout<<"Maximum Value = "<<CalcMaxValue(arr, N)<<endl;    cout<<"Minimum Value = "<<CalcMinValue(arr, N);    return 0; }

आउटपुट

Maximum Value = 21 Minimum Value = 1

इस समस्या को C++ प्रोग्रामिंग भाषा के स्टैंडर्ड टेम्पलेट लाइब्रेरी में प्रदान की गई इनबिल्ट फंक्शन्स का उपयोग करके भी हल किया जा सकता है।

समाधान खोजने के तरीके हैं min_element() और max_element() और ये मेथड्स C++ में bits/stdc++.h लाइब्रेरी में पाए जाते हैं।

समस्या के समाधान को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h> using namespace std; int main() {    int arr[] = {2, 1, 6, 9, 4, 10, 15, 21};    int N = 8;    cout<<"Maximum Value = "<<(*max_element(arr, arr+N))<<endl;    cout<<"Minimum Value = "<<(*min_element(arr, arr+N));    return 0; }

आउटपुट

Maximum Value = 21 Minimum Value = 1

  1. অ্যারেতে সবচেয়ে বড় এলিমেন্ট (Largest Element) বের করার C++ প্রোগ্রাম

  2. PHP প্রোগ্রাম: অ্যারেতে সর্বোচ্চ উপাদান খুঁজে বের করা

  3. PHP প্রোগ্রাম: অ্যারেতে সর্বনিম্ন উপাদান খুঁজে বের করা

  4. C# প্রোগ্রাম: অ্যারেতে সর্বোচ্চ (Maximum) এবং সর্বনিম্ন (Minimum) এলিমেন্ট বের করা