[C++] 9주차 과제 리뷰

yeohn·2022년 12월 6일
0

2022-2 C++ 과제 리뷰

목록 보기
9/10

문제

double min(double array[], int size)를 사용하여 double형 값 배열에서 가장 작은 요소를 찾는 함수를 작성하여라.

(문제 출처 - C++로 시작하는 객체지향 프로그래밍 3.7)


작성한 코드

#include <iostream>
using namespace std;

double min(double array[], int size);
const int MAX_NUMBER_OF_VALUE = 10;

double minValue = 0;
double& minimum = minValue; // 참조변수 써서 

int main()
{
	double number = 0;

	double numbers[MAX_NUMBER_OF_VALUE];
	cout << "Enter ten numbers: ";
	
	for (int i = 0; i < MAX_NUMBER_OF_VALUE; i++)
	{
		cin >> numbers[i];
	}

	min(numbers, MAX_NUMBER_OF_VALUE); // (double array[], int size) call by reference

	cout << "The minimum number is " << minimum; // 이거 연결

	return 0;
}

double min(double array[], int size)
{
	minValue = array[0]; // 여기가 문제인데

	for (int i = 0; i < MAX_NUMBER_OF_VALUE; i++)
	{
		if (array[i] <= minValue)
			minValue = array[i];
	}

	return minValue; //이거랑
}

지난 과제인 최댓값 구하기를 두고 변형하다보니 구조가 꼬여서 반복문 정도만 참고하고 다시 작성했다. 앞으로도 변형보다는 새로 작성하는 방법을 사용해야겠다.
처음에는 함수로 배열을 전달하는 방법의 이해가 부족해서 복습을 두 번 하고 시작했다. min 함수에서 반환한 값을 main 함수에 가져가는 것이 잘 안 됐는데 이는 참조변수를 전역변수로 선언하면서 해결했다.

0개의 댓글