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

অ্যারেতে তিনটি সবচেয়ে বড় উপাদান বের করা (C++)


সমস্যা বিবরণ

একটি আনসর্টেড অ্যারে দেওয়া আছে। আমাদের কাজ হল অ্যারেতে তিনটি সবচেয়ে বড় উপাদান বের করা।

উদাহরণ

ইনপুট: arr[] = {7, 3, 9, 12, 1}
আউটপুট: 12, 9, 7

পদ্ধতি ১: একই পাসে তিনটি ভ্যারিয়েবল (O(n))

max, max2, max3 ভ্যারিয়েবল রেখে একবার ট্রাভার্সাল।

#include <iostream>
using namespace std;

void findThreeLargest(int arr[], int n) {
    int max=arr[0], max2=arr[0], max3=arr[0];
    for(int i=1;imax){ max3=max2; max2=max; max=arr[i]; }
        else if(arr[i]>max2){ max3=max2; max2=arr[i]; }
        else if(arr[i]>max3) max3=arr[i];
    }
    cout << max << ", " << max2 << ", " << max3;
}

পদ্ধতি ২: সর্টিং (O(n log n))

অ্যারে সর্ট করে শেষ তিনটি উপাদান নেওয়া।

#include <bits/stdc++.h>
using namespace std;

void findThreeLargest(int arr[], int n) {
    sort(arr, arr+n, greater<>());
    cout << arr[0] << " " << arr[1] << " " << arr[2];
}

আউটপুট (উভয় পদ্ধতির জন্য)

Three largest: 86, 53, 50
  1. C++ প্রোগ্রাম: তিনটি এলিমেন্টের মধ্যে সবচেয়ে ছোট এলিমেন্ট বের করা

  2. সি++ প্রোগ্রাম: অ্যারেতে সর্বনিম্ন ও দ্বিতীয় সর্বনিম্ন উপাদান খুঁজে বের করা

  3. সি++ প্রোগ্রাম: অ্যারেতে প্রথম, দ্বিতীয় ও তৃতীয় সর্বনিম্ন উপাদান খুঁজে বের করা

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