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