프로그래밍_백준/C++

(c++)백준 10818번 최소, 최대 구하기

공부하려구요 2023. 2. 17. 01:22
728x90
반응형

백준 10818번은 최소, 최대 구하기입니다!

예제 입력1 처럼 저는 공백으로 값을 구분해서 입력받고 싶었어요! 그래서 포인터를 이용했답니다!  

그리고 최소, 최대를 구분하는 함수를 만들었습니다!

#include<iostream>

int max_num(int num[], int n);//함수를 main함수보다 뒤에 쓰는 경우 먼저 함수 선언을 해야 합니다!
int min_num(int num[], int n);

int main()
{
	int a, n, i;
	int* num;//포인터를 배열처럼 사용할 것 입니다!, 포인터 선언

	std::cin >> n;//n값 입력
	num = new int[n];//new로 배열을 동적으로 할당 하고, 할당된 메모리에 대한 주소를 반환합니다!
	for (i = 0; i < n; i++) {
		std::cin >> a;
		num[i] = a;//배열 생성!
	}

	std::cout << min_num(num, n) << " " << max_num(num, n);
	delete[] num;//new를 사용하면 delete는 필수!! 이유는 더 이상 필요 없는 메모리를 해제합니다!
	return 0;
}

int max_num(int num[], int n) {
	int i, max=num[0];
	for (i = 1; i < n; i++) {//max에 이미 num[0]값이 있으므로 i=1부터 시작합니다!
		if (num[i] > max) {
			max = num[i];
		}//최댓값 찾기
	}
	return max;//max값 반환
}

int min_num(int num[], int n) {
	int i, min=num[0];
	for (i = 1; i < n; i++) {
		if (num[i] < min) {
			min = num[i];
		}
	}
		return min;
}

 

728x90
반응형