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

C++ প্রোগ্রাম: জটিলতা সীমাবদ্ধতা সহ n এলিমেন্টের সেকেন্ড স্মোলেস্ট বের করা


এটি একটি C++ প্রোগ্রাম যা দেয়া জটিলতা সীমাবদ্ধতা সহ n এলিমেন্টের সেকেন্ড স্মোলেস্ট বের করে।

অ্যালগরিদম

শুরু
  ফাংশন SecondSmallest():
    /* এই ফাংশনের আর্গুমেন্ট:
       একটি পয়েন্টার অ্যারে a।
       এলিমেন্ট সংখ্যা n
     */
    // ফাংশনের বডি:
    একটি ভেরিয়েবল s1 ডিক্লেয়ার করা হয়েছে ছোট সংখ্যা ট্র্যাক রাখতে।
    একটি ভেরিয়েবল s2 ডিক্লেয়ার করা হয়েছে দ্বিতীয় ছোট সংখ্যা ট্র্যাক রাখতে।
    s1 এবং s2 দুটো INT_MAX দিয়ে ইনিশিয়ালাইজ করুন।
    ইটারেশন ব্যবহার করে ডেটা অ্যারে ট্রাভার্স করুন।
    যদি করেন্ট অ্যারে এলিমেন্ট s1-এ থাকা করেন্ট ভ্যালুর চেয়ে কম হয়, তবে s2 = s1 এবং s1 = করেন্ট অ্যারে এলিমেন্ট।
    অন্যথায় যদি অ্যারে এলিমেন্ট s1 এবং s2-এর মাঝপথে থাকে,
      তবে s2 = করেন্ট অ্যারে এলিমেন্ট।
    if(s2 == INT_MAX)
      "no second smallest element is present" প্রিন্ট করুন।
    অন্যথায়
      s2 প্রিন্ট করুন সেকেন্ড স্মোলেস্ট এলিমেন্ট হিসেবে।
শেষ

উদাহরণ

#include <iostream>
#include <climits> // INT_MAX-এর জন্য
using namespace std;

int SecondSmallest(int* a, int n) {
    int s1, s2, i, t;
    // s1 এবং s2 ইনিশিয়ালাইজ
    s1 = INT_MAX;
    s2 = INT_MAX;
    for (i = 0; i < n; i++) {
        // যদি করেন্ট এলিমেন্ট s1-র চেয়ে ছোট হয়
        if (s1 > a[i]) {
            // s1 এবং s2 আপডেট
            s2 = s1;
            s1 = a[i];
        }
        // যদি a[i] s1 এবং s2-এর মাঝপথে থাকে
        else if (s2 > a[i] && a[i] != s1) {
            // শুধু s2 আপডেট
            s2 = a[i];
        }
    }
    if (s2 == INT_MAX)
        cout << "no second smallest element is present";
    else
        cout << "Second smallest element is:" << s2;
}

int main() {
    int n, i;
    cout << "Enter the number of elements: ";
    cin >> n;
    int array[n];
    for (i = 0; i < n; i++) {
        cout << "Enter " << i+1 << " element: ";
        cin >> array[i];
    }
    SecondSmallest(array, n); // ফাংশন কল
    return 0;
}

আউটপুট

Enter the number of elements: 5 Enter 1 element: 1 Enter 2 element: 2 Enter 3 element: 1 Enter 4 element: 3 Enter 5 element: 4 Second smallest element is:2

  1. C++-এ একটি বৃত্তের দুটি অংশের কোণের ন্যূনতম পার্থক্য বের করার প্রোগ্রাম

  2. C++ প্রোগ্রাম: ত্রিভুজের পারিবৃত্তের ক্ষেত্রফল (সাইড দেওয়া থাকলে)

  3. দřen complexity constraint সহ কুইক সার্ট বাস্তবায়ন করার C++ প্রোগ্রাম

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