문제 :

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() 함수를 작성하고 프로그램을 완성하라.

실행 결과 :

목적 및 힌트 :

함수 중복, 디폴트 매개 변수 연습

코드 :

● 문제 (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 출력 }

설명 :

디폴트 매개변수를 가진 함수를 작성하여 코드의 길이를 줄일 수 있습니다.

공유하기

게시글 관리

코딩은 내일부터 ;

저작자표시 (새창열림)

💻 개발 & CS > C++ 프로그래밍’ 카테고리의 다른 글

명품 C++ programming 실습 문제 6장 3번  (1) 2020.03.05
명품 C++ programming 실습 문제 6장 2번  (3) 2020.03.05
명품 C++ programming 실습 문제 5장 12번  (2) 2020.03.05
명품 C++ programming 실습 문제 5장 11번  (1) 2020.03.05
명품 C++ programming 실습 문제 5장 10번  (3) 2020.03.05