본문 바로가기
프로그래밍

[C++] 명품 c++ 프로그래밍 실습 6장 1번

by 엽기토기 2020. 12. 23.
반응형

(1)번

#include <iostream>
using namespace std;
//add() 함수를 중복 작성
int add(int x[], int y);
int add(int x[], int y,int z[]);

int add(int x[], int y) {
	int result = 0;
	for (int i = 0; i < y; i++)
		result += x[i];
	return result;
}
int add(int x[], int y, int z[]) {
	int result1 = 0;
	int result2 = 0;
	for (int i = 0; i < y; i++)
		result1 += x[i];
	for (int i = 0; i < y; i++)
		result2 += z[i];
	return result1+result2;
}
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)번

#include <iostream>
using namespace std;
//디폴트 매개변수를 가진 하나의 add()함수를 작성

int add(int x[], int y, int z[]=NULL);

int add(int x[], int y, int z[]) {
	int result1 = 0;
	int result2 = 0;

	if (z == NULL) {
		for (int i = 0; i < y; i++) {
			result1 += x[i];
		}
		return result1;
	}
	else {
		for (int i = 0; i < y; i++) {
			result1 += x[i];
			result2 += z[i];
		}
		return result1 += result2;
	}
}
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출력
}

 

(교수님 댓글ㅋㅋㅋ)

반응형