컴퓨터 언어/C++

[c++] 최대/최소를 구하는 함수

  • -
728x90
반응형

최소값과 최대값을 반환해주는 함수 min()과 max()가 존재한다.

 

이 함수를 사용하기 위해선 3가지 유의할 점이 있는데 

 

1. 이 함수는 algorithm 헤더 파일에 들어있기 때문에 #include <algorithm>을 선언해줘야 한다

2. using namespace std;를 선언해줘야 한다. 

3. 함수명과 같은 변수 (ex: min, max)를 같이 사용해선 안된다. 

 

위 3가지만 지켜주면 파라미터로 넣은 두 수 중 작고 큰 값을 함수 한방에 알아낼 수 있다.

 

만약 배열에서 최대 최소를 구하고 싶은 경우에는 다음과 같은 방법을 활용하면 된다.

 

max_element()와 min_element() 가 그 예시이다.

 

대신 유의할 점이 있는데

 

1. 이 역시 algorithm 헤더에 있는 함수라 #include <algorithm>을 반드시 선언해줘야 한다.

2. max(), min()과 동일하게 using namespace std;도 선언해줘야한다.

3. 가장 중요한 점인데 이 함수는 값을 리턴하지 않고 주소값을 반환해준다! 

   따라서 값을 참조하려면 * 연산자를 반드시 사용해줘야 한다!

 

 

이를 이용한 문제는 다음과 같다.

 

#include <iostream>
#include <algorithm>

using namespace std;

int main(void){
    int N;
    cin >> N;
    int data_list[N];
    for(int i = 0; i < N; i++){
        int value;
        cin >> value;
        data_list[i] = value;
    }
    int min_value = * min_element(data_list, data_list + N);
    int max_value = * max_element(data_list, data_list + N);
    cout << min_value << " "<< max_value << "\n";
    
    return 0;

}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.