-
명품 C++ 6장 1번C++ 2018. 11. 2. 16:42
1. add() 함수를 호출하는 main() 함수는 다음과 같다.
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() 함수를 중복 작성하고 프로그램을 완성하라.
소스코드
int add(int a[], int n) {int sum = 0;for (int i = 0; i < n; ++i)sum += a[i];return sum;}int add(int a[], int n, int b[]) {int sum = 0;for (int i = 0; i < n; ++i)sum = sum + a[i] + b[i];return sum;}2) 디폴트 매개 변수를 가진 하나의 add() 함수를 작성하고 프로그램을 완성하라.
소스코드
int add(int a[], int n, int b[]=NULL) {int sum = 0;for (int i = 0; i < n; ++i)sum+= a[i];if (b == NULL)return sum;for (int i = 0; i < n; ++i)sum += b[i];return sum;}실행결과
함수 중복을 통한 add함수 와 디폴트 배개변수로 b를 전달하지 않을 경우 NULL 로 설정하여 a배열만 더하는 add함수입니다.
'C++' 카테고리의 다른 글
명품 C++ 6장 3번 (0) 2018.11.02 명품 C++ 6장 2번 (0) 2018.11.02 명품 C++ 5장 Open Challenge (0) 2018.10.31 명품 C++ 5장 12번 (2) 2018.10.31 명품 C++ 5장 11번 (0) 2018.10.31