Problem:
add() 함수를 호출하는 main() 함수는 다음과 같다.
|
|
| 1 2 3 4 5 6 7 8 |
int main() { int a[] = {1,2,3,4,5}; int b[] = {6,7,8,9,10}; int c = add(a, 5); // 배열 a의 정수를 모두 더한 값 리턴 int d = add(a, 5, b); // 배열 a와 b의 정수를 모두 더한 값 리턴 cout << c << endl; // 15 출력 cout << d << endl; // 55 출력 } |
(1) add() 함수를 중복 작성하고 프로그램을 완성하라.
(2) 디폴트 매개 변수를 가진 하나의 add() 함수를 작성하고 프로그램을 완성하라.
Execution Result:

Objective & Hints:
함수 중복, 디폴트 매개 변수 연습
Code:
● 문제 (1)
|
|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include using namespace std; int add(int *a, int b){ int sum = 0; for(int i=0; i<b; i++) sum += a[i]; return sum; } int add(int *a, int b, int *c){ int sum = 0; for(int i=0; i<b; i++) sum += a[i] + c[i]; return sum; } int main() { int a[] = {1,2,3,4,5}; int b[] = {6,7,8,9,10}; int c = add(a, 5); // 배열 a의 정수를 모두 더한 값 리턴 int d = add(a, 5, b); // 배열 a와 b의 정수를 모두 더한 값 리턴 cout << c << endl; // 15 출력 cout << d << endl; // 55 출력 } |
● 문제 (2)
|
|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include using namespace std; int add(int *a, int b, int *c = NULL) { int sum = 0; for(int i=0; i<b; i++) { sum += a[i]; if(c != NULL) sum += c[i]; } return sum; } int main() { int a[] = {1,2,3,4,5}; int b[] = {6,7,8,9,10}; int c = add(a, 5); // 배열 a의 정수를 모두 더한 값 리턴 int d = add(a, 5, b); // 배열 a와 b의 정수를 모두 더한 값 리턴 cout << c << endl; // 15 출력 cout << d << endl; // 55 출력 } |
Explanation:
디폴트 매개변수를 가진 함수를 작성하여 코드의 길이를 줄일 수 있습니다.