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

ค้นหาองค์ประกอบขั้นต่ำที่หนึ่ง ที่สอง และสามในอาร์เรย์ใน 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