Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาองค์ประกอบน้อยที่สุด 3 อันดับแรกในอาร์เรย์ในโปรแกรม C++

สมมติว่ามีอาร์เรย์ n องค์ประกอบ เราต้องหาองค์ประกอบน้อยที่สุด อันดับหนึ่ง สอง และสามในอาร์เรย์ องค์ประกอบน้อยที่สุดอันดับหนึ่งคือค่าต่ำสุดของอาร์เรย์ อันดับสองคือค่าต่ำสุดแต่มากกว่าอันดับหนึ่ง และอันดับสามคือค่าต่ำสุดแต่มากกว่าอันดับสอง

สแกนผ่านแต่ละองค์ประกอบ ตรวจสอบองค์ประกอบ และเชื่อมโยงเงื่อนไขสำหรับองค์ประกอบน้อยที่สุดอันดับหนึ่ง สอง และสาม เพื่อแก้ปัญหานี้

ตัวอย่าง

#include <iostream> 
using namespace std; 

int getThreeMins(int arr[], int n) {
    int first = INT_MAX, sec = INT_MAX, third = INT_MAX;
    for (int i = 0; i < n; i++) {
        if (arr[i] < first) {
            third = sec;
            sec = first;
            first = arr[i];
        } else if (arr[i] < sec) {
            third = sec;
            sec = arr[i];
        } else if (arr[i] < third)
            third = arr[i];
    }
    cout << "First min = " << first << endl;
    cout << "Second min = " << sec << endl;
    cout << "Third min = " << third << endl;
}

int main() {
    int array[] = {4, 9, 18, 32, 12};
    int n = sizeof(array) / sizeof(array[0]);
    getThreeMins(array, n);
}

ผลลัพธ์

First min = 4
Second min = 9
Third min = 12