C++ Programming Ch.8 Exercise 2 Solution

Problem: 문제 1~2에 μ μš©λ˜λŠ” 원을 μΆ”μƒν™”ν•œ Circle ν΄λž˜μŠ€κ°€ μžˆλ‹€. 1 2 3 4 5 6 7 8 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } int getRadius() { return radius; } void setRadius(int radius) { this->radius = radius; } double getArea() { return 3.14*radius*radius; } }; λ‹€μŒκ³Ό 같이 배열을 μ„ μ–Έν•˜μ—¬ λ‹€μŒ Execution Resultκ°€ λ‚˜μ˜€λ„λ‘ Circle을 상속받은 NamedCircle ν΄λž˜μŠ€μ™€ main() ν•¨μˆ˜ λ“± ν•„μš”ν•œ ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜λΌ. ...

March 9, 2020 Β· 2 min Β· Sobamemil

C++ Programming Ch.8 Exercise 1 Solution

Problem: 문제 1~2에 μ μš©λ˜λŠ” 원을 μΆ”μƒν™”ν•œ Circle ν΄λž˜μŠ€κ°€ μžˆλ‹€. 1 2 3 4 5 6 7 8 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } int getRadius() { return radius; } void setRadius(int radius) { this->radius = radius; } double getArea() { return 3.14*radius*radius; } }; λ‹€μŒ μ½”λ“œκ°€ μ‹€ν–‰λ˜λ„λ‘ Circle을 상속받은 NamedCircle 클래슀λ₯Ό μž‘μ„±ν•˜κ³  전체 ν”„λ‘œκ·Έλž¨μ„ μ™„μ„±ν•˜λΌ. 1 2 NamedCircle waffle(3, "waffle"); // λ°˜μ§€λ¦„μ΄ 3이고 이름이 waffle인 원 waffle.show(); Execution Result: ...

March 9, 2020 Β· 2 min Β· Sobamemil

C++ Programming Ch.7 Exercise 12 Solution

Problem: μ •μˆ˜ 배열을 항상 증가 순으둜 μœ μ§€ν•˜λŠ” SortedArray 클래슀λ₯Ό μž‘μ„±ν•˜λ €κ³  ν•œλ‹€. μ•„λž˜μ˜ main() ν•¨μˆ˜κ°€ μž‘λ™ν•  만큼만 SortedArray 클래슀λ₯Ό μž‘μ„±ν•˜κ³  +와 = μ—°μ‚°μžλ„ μž‘μ„±ν•˜λΌ. 1 2 3 4 5 6 7 8 9 10 11 12 13 class SortedArray{ int size; // ν˜„μž¬ λ°°μ—΄μ˜ 크기 int *p; // μ •μˆ˜ 배열에 λŒ€ν•œ 포인터 void sort(); // μ •μˆ˜ 배열을 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ public: SortedArray(); // pλŠ” NULL둜 sizeλŠ” 0으둜 μ΄ˆκΈ°ν™” SortedArray(SortedArray& src); // 볡사 μƒμ„±μž SortedArray(int p[], int size); // μƒμ„±μž. μ •μˆ˜ λ°°μ—΄κ³Ό 크기λ₯Ό μ „λ‹¬λ°›μŒ ~SortedArray(); // μ†Œλ©Έμž SortedArray operator+ (SortedArray& op2); // ν˜„μž¬ 배열에 op2 λ°°μ—΄ μΆ”κ°€ SortedArray& operator= (const SortedArray& op2); // ν˜„μž¬ 배열에 op2 λ°°μ—΄ 볡사 void show(); // λ°°μ—΄μ˜ μ›μ†Œ 좜λ ₯ }; 1 2 3 4 5 6 7 8 9 10 11 12 int main() { int n[] = { 2, 20, 6 }; int m[] = { 10, 7, 8, 30 }; SortedArray a(n, 3), b(m, 4), c; c = a + b; // +, = μ—°μ‚°μž μž‘μ„± ν•„μš” // + μ—°μ‚°μžκ°€ SortedArray 객체λ₯Ό λ¦¬ν„΄ν•˜λ―€λ‘œ 볡사 μƒμ„±μž ν•„μš” a.show(); b.show(); c.show(); } Execution Result: ...

March 6, 2020 Β· 3 min Β· Sobamemil

C++ Programming Ch.7 Exercise 11 Solution

Problem: μŠ€νƒ 클래슀 Stack을 λ§Œλ“€κ³  ν‘Έμ‹œ(push)용으둜 << μ—°μ‚°μžλ₯Ό, 팝(pop)을 μœ„ν•΄ >> μ—°μ‚°μžλ₯Ό, λΉ„μ–΄ μžˆλŠ” μŠ€νƒμΈμ§€λ₯Ό μ•ŒκΈ° μœ„ν•΄ ! μ—°μ‚°μžλ₯Ό μž‘μ„±ν•˜λΌ. λ‹€μŒ μ½”λ“œλ₯Ό main()으둜 μž‘μ„±ν•˜λΌ. 1 2 3 4 5 6 7 8 9 Stack stack; stack << 3 << 5 << 10; // 3,5,10 μˆœμ„œλŒ€λ‘œ push while(true){ if(!stack) break; //stack empty int x; stack >> x; //stack의 top에 μžˆλŠ” μ •μˆ˜ pop cout << x << ' '; } cout << endl; Execution Result: ...

March 6, 2020 Β· 2 min Β· Sobamemil

C++ Programming Ch.7 Exercise 10 Solution

Problem: 톡계λ₯Ό λ‚΄λŠ” Statistics 클래슀λ₯Ό λ§Œλ“€λ €κ³  ν•œλ‹€. λ°μ΄ν„°λŠ” Statistics 클래슀 내뢀에 int 배열을 λ™μ μœΌλ‘œ ν• λ‹Ήλ°›μ•„ μœ μ§€ν•œλ‹€. λ‹€μŒκ³Ό 같은 연산이 잘 이루어지도둝 Statistics ν΄λž˜μŠ€μ™€ !, >>, <<, ~ μ—°μ‚°μž ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜λΌ. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 int main() { Statistics stat; if(!stat) cout << "ν˜„μž¬ 톡계 데이타가 μ—†μŠ΅λ‹ˆλ‹€." << endl; int x[5]; cout << "5 개의 μ •μˆ˜λ₯Ό μž…λ ₯ν•˜λΌ>>"; for(int i=0; i<5; i++) cin >> x[i]; // x[i]에 μ •μˆ˜ μž…λ ₯ for(int i=0; i<5; i++) stat << x[i]; // x[i] 값을 톡계 객체에 μ‚½μž…ν•œλ‹€. stat << 100 << 200; // 100, 200을 톡계 객체에 μ‚½μž…ν•œλ‹€. ~stat; // 톡계 데이터λ₯Ό λͺ¨λ‘ 좜λ ₯ν•œλ‹€. int avg; stat >> avg; // 톡계 κ°μ²΄λ‘œλΆ€ν„° 평균을 λ°›λŠ”λ‹€. cout << "avg=" << avg << endl; // 평균을 좜λ ₯ν•œλ‹€. } Execution Result: ...

March 6, 2020 Β· 2 min Β· Sobamemil

C++ Programming Ch.7 Exercise 9 Solution

Problem: 문제 8번의 Circle 객체에 λŒ€ν•΄ λ‹€μŒ 연산이 κ°€λŠ₯ν•˜λ„λ‘ μ—°μ‚°μžλ₯Ό κ΅¬ν˜„ν•˜λΌ. 1 2 3 4 Circle a(5), b(4); b = 1+a; // b의 λ°˜μ§€λ¦„μ„ a의 λ°˜μ§€λ¦„μ— 1을 λ”ν•œ κ²ƒμœΌλ‘œ λ³€κ²½ a.show(); b.show(); 2020/03/06 - [C++/λͺ…ν’ˆ C++ programming] - λͺ…ν’ˆ C++ programming Exercise Problem 7μž₯ 8번 [λͺ…ν’ˆ C++ programming Exercise Problem 7μž₯ 8번 Problem: 원을 μΆ”μƒν™”ν•œ Circle ν΄λž˜μŠ€λŠ” κ°„λ‹¨νžˆ μ•„λž˜μ™€ κ°™λ‹€. 1 2 3 4 5 6 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } void show() { cout << "radius = " << radius <<.. ...

March 6, 2020 Β· 1 min Β· Sobamemil

C++ Programming Ch.7 Exercise 8 Solution

Problem: 원을 μΆ”μƒν™”ν•œ Circle ν΄λž˜μŠ€λŠ” κ°„λ‹¨νžˆ μ•„λž˜μ™€ κ°™λ‹€. 1 2 3 4 5 6 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } void show() { cout << "radius = " << radius << " 인 원" << endl; } }; λ‹€μŒ 연산이 κ°€λŠ₯ν•˜λ„λ‘ μ—°μ‚°μžλ₯Ό ν”„λ Œλ“œ ν•¨μˆ˜λ‘œ μž‘μ„±ν•˜λΌ. 1 2 3 4 5 Circle a(5), b(4); ++a; // λ°˜μ§€λ¦„μ„ 1 증가 μ‹œν‚¨λ‹€. b = a++; // λ°˜μ§€λ¦„μ„ 1 증가 μ‹œν‚¨λ‹€. a.show(); b.show(); Execution Result: ...

March 6, 2020 Β· 2 min Β· Sobamemil

C++ Programming Ch.7 Exercise 7 Solution

Problem: 2차원 행렬을 μΆ”μƒν™”ν•œ Matrix 클래슀λ₯Ό ν™œμš©ν•˜λŠ” λ‹€μŒ μ½”λ“œκ°€ μžˆλ‹€. 1 2 3 4 5 6 7 8 Matrix a(4,3,2,1), b; int x[4], y[4]={1,2,3,4}; // 2차원 ν–‰λ ¬μ˜ 4 개의 μ›μ†Œ κ°’ a >> x; // a의 각 μ›μ†Œλ₯Ό λ°°μ—΄ x에 볡사. x[]λŠ” {4,3,2,1} b << y; // λ°°μ—΄ y의 μ›μ†Œ 값을 b의 각 μ›μ†Œμ— μ„€μ • for(int i=0; i<4; i++) cout << x[i] << ' '; // x[] 좜λ ₯ cout << endl; b.show(); (1) <<, >> μ—°μ‚°μž ν•¨μˆ˜λ₯Ό Matrix의 멀버 ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•˜λΌ. ...

March 6, 2020 Β· 3 min Β· Sobamemil

C++ Programming Ch.7 Exercise 6 Solution

Problem: 2차원 행렬을 μΆ”μƒν™”ν•œ Matrix 클래슀λ₯Ό μž‘μ„±ν•˜κ³ , show() 멀버 ν•¨μˆ˜μ™€ λ‹€μŒ 연산이 κ°€λŠ₯ν•˜λ„λ‘ μ—°μ‚°μžλ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν•˜λΌ. 1 2 3 4 5 6 Matrix a(1,2,3,4), b(2,3,4,5), c; c = a + b; a += b; a.show(); b.show(); c.show(); if(a==c) cout << "a and c are the same" << endl; (1) μ—°μ‚°μž ν•¨μˆ˜λ₯Ό Matrix의 멀버 ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•˜λΌ. (2) μ—°μ‚°μž ν•¨μˆ˜λ₯Ό Matrix의 ν”„λ Œλ“œ ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•˜λΌ. Execution Result: Objective & Hints: ...

March 6, 2020 Β· 3 min Β· Sobamemil

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