C++ Programming Ch.7 Exercise 5 Solution

Problem: 다음 main()에서 Color 클래스는 3요소(빨강, 초록, 파랑)로 하나의 색을 나타내는 클래스이다(4장 Exercise Problem 1번 참고). 연산자로 색을 더하고, == 연산자로 색을 비교하고자 한다. Execution Result를 참고하여 Color 클래스와 연산자, 그리고 프로그램을 완성하라. 1 2 3 4 5 6 7 8 9 10 11 int main() { Color red(255, 0, 0), blue(0, 0, 255), c; c = red + blue; c.show(); // 색 값 출력 Color fuchsia(255,0,255); if(c == fuchsia) cout << "보라색 맞음"; else cout << "보라색 아님"; } (1) +와 == 연산자를 Color 클래스의 멤버 함수로 구현하라. ...

March 6, 2020 · 3 min · Sobamemil

C++ Programming Ch.4 Exercise 4 Solution

Problem: 다음과 같은 Sample 클래스가 있다. 1 2 3 4 5 6 7 8 9 10 11 12 class Sample{ int *p; int size; public: Sample(int n) { // 생성자 size = n; p = new int [n]; // n개 정수 배열의 동적 생성 } void read(); // 동적 할당받은 정수 배열 p에 사용자로부터 정수를 입력 받음 void write(); // 정수 배열을 화면에 출력 int big(); // 정수 배열에서 가장 큰 수 리턴 ~Sample(); // 소멸자 }; 다음 main() 함수가 실행되도록 Sample 클래스를 완성하라. ...

March 4, 2020 · 2 min · Sobamemil

C++ Programming Ch.3 Exercise 12 Solution

Problem: 컴퓨터의 주기억장치를 모델링하는 클래스의 Ram을 구현하려고 한다. Ram 클래스는 데이터가 기록될 메모리 공간과 크기 정보를 가지고, 주어진 주소에 데이터를 기록하고(write), 주어진 주소로부터 데이터를 읽어 온다(read). Ram 클래스는 다음과 같이 선언된다. 1 2 3 4 5 6 7 8 9 class Ram { char mem[100 * 1024]; // 100KB 메모리. 한 번지는 한 바이트이므로 char 타입 사용 int size; public: Ram(); // mem 배열을 0으로 초기화하고 size를 100*1024로 초기화 ~Ram(); // "메모리 제거됨" 문자열 출력 char read(int address); // address 주소의 메모리 바이트 리턴 void write(int address, char value); // address 주소에 한 바이트로 value 저장 }; 다음 main() 함수는 100 번지에 20을 저장하고, 101 번지에 30을 저장한 후, 100 번지와 101 번지의 값을 읽고 더하여 102 번지에 저장하는 코드이다. ...

March 3, 2020 · 3 min · Sobamemil

C++ Programming Ch.2 Exercise 10 Solution

Problem: 문자열을 하나 입력받고 문자열의 부분 문자열을 다음과 같이 출력하는 프로그램을 작성하라. 예시는 다음과 같다. Objective & Hints: 문자열 읽기, 문자열 다루기 Execution Result: Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include using namespace std; int main() { cout << "문자열 입력>>"; char str[100]; cin.getline(str,100); for(int i=1;i<100;i++){ for(int j=0;j<i;j++) { cout << str[j]; } if(str[i]=='\0') // 문자열의 끝이면 break break; cout << endl; } return 0; }

February 28, 2020 · 1 min · Sobamemil

C++ Programming Ch.2 Exercise 9 Solution

Problem: 이름, 주소, 나이를 입력받아 다시 출력하는 프로그램을 작성하라. 실행 예시는 다음과 같다. Objective & Hints: 빈칸을 포함하는 문자열 읽기 Execution Result: Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include using namespace std; int main() { char name[100]; char addr[100]; int age; cout << "이름은?"; cin.getline(name,100); cout << "주소는?"; cin.getline(addr,100); cout << "나이는?"; cin >> age; cout << name << ", " << addr << ", " << age << "세"; return 0; }

February 28, 2020 · 1 min · Sobamemil