C++ Programming Ch.5 Exercise 9 Solution

Problem: 클래스 Accumulator는 add() 함수를 통해 계속 값을 누적하는 클래스로서, 다음과 같이 선언된다. Accumulator 클래스를 구현하라. 1 2 3 4 5 6 7 class Accumulator{ int value; public: Accumulator(int value); // 매개 변수 value로 멤버 value를 초기화한다. Accumulator& add(int n); // value에 n을 더해 값을 누적한다. int get(); // 누적된 값 value를 리턴한다. }; Accumulator는 다음과 같이 main() 함수에 의해 활용된다. 1 2 3 4 5 int main() { Accumulator acc(10); acc.add(5).add(6).add(7); // acc의 value 멤버가 28이 된다. cout << acc.get(); // 28 출력 } Execution Result: ...

March 5, 2020 · 2 min · Sobamemil

C++ Programming Ch.5 Exercise 6 Solution

Problem: find() 함수의 원형은 다음과 같다. 문자열 a에서 문자 c를 찾아, 문자 c가 있는 공간에 대한 참조를 리턴한다. 만일 문자 c를 찾을 수 없다면 success 참조 매개 변수에 false를 설정한다. 물론 찾게 되면 success에 true를 설정한다. 1 char& find(char a[], char c, bool& success); 다음 main()이 잘 실행되도록 find()를 작성하라. 1 2 3 4 5 6 7 8 9 10 11 int main() { char s[] = "Mike"; bool b = false; char& loc = find(s, 'M', b); if(b == false) { cout << "M을 발견할 수 없다" << endl; return 0; } loc = 'm'; // 'M' 위치에 'm' 기록 cout << s << endl; // "mike"가 출력됨 } Execution Result: ...

March 5, 2020 · 2 min · Sobamemil

C++ Programming Ch.5 Exercise 4 Solution

Problem: 아래와 같이 원형이 주어진 bigger()를 작성하고 사용자로부터 2개의 정수를 입력받아 큰 값을 출력하는 main()을 작성하라. bigger()는 인자로 주어진 a, b가 같으면 true, 아니면 false를 리턴하고 큰 수는 big에 전달한다. 1 bool bigger(int a, int b, int& big); Execution Result: Objective & Hints: 참조에 의한 호출 연습 Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; bool bigger(int a, int b, int& big){ if(a==b) return true; else { if(a>b) big = a; else big = b; return false; } } int main() { int a, b, big; cout << "두개의 정수를 입력하세요>>"; cin >> a >> b; if(!bigger(a, b, big)) cout << "큰 수는 : " << big; else cout << "두 정수가 같습니다."; } Explanation: ...

March 5, 2020 · 1 min · Sobamemil