๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.5 Exercise 1 Solution

Problem: ๋‘ ๊ฐœ์˜ Circle ๊ฐ์ฒด๋ฅผ ๊ตํ™˜ํ•˜๋Š” swap() ํ•จ์ˆ˜๋ฅผ '์ฐธ์กฐ์— ์˜ํ•œ ํ˜ธ์ถœ'์ด ๋˜๋„๋ก ์ž‘์„ฑํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. 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 22 23 24 25 #include using namespace std; class Circle { int num; public: Circle(); Circle(int num) {this->num = num;} void setNum(int num) {this->num = num;} int getNum() {return num;} }; void swap(Circle &a, Circle &b) { int swap; swap = a.getNum(); a.setNum(b.getNum()); b.setNum(swap); } int main() { Circle a(5), b(10); cout << a.getNum() << " " << b.getNum() << endl; swap(a,b); cout << a.getNum() << " " << b.getNum(); } Explanation: ...

March 5, 2020 ยท 1 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 14 Solution

Problem: ๊ฒœ๋ธ”๋ง ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด๋ณด์ž. ๋‘ ์‚ฌ๋žŒ์ด ๊ฒŒ์ž„์„ ์ง„ํ–‰ํ•˜๋ฉฐ, ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ์ดˆ๊ธฐ์— ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค. ์„ ์ˆ˜๊ฐ€ ๋ฒˆ๊ฐˆ์•„ ์ž์‹ ์˜ ์ฐจ๋ก€์—์„œ ํ‚ค๋ฅผ ์น˜๋ฉด ๋žœ๋คํ•œ 3๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๋ชจ๋‘ ๋™์ผํ•œ ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋ฉด ๊ฒŒ์ž„์—์„œ ์ด๊ธฐ๊ฒŒ ๋œ๋‹ค. ์ˆซ์ž์˜ ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด 3๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ผ์น˜ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์•„ ์ˆซ์ž์˜ ๋ฒ”์œ„๋ฅผ 0~2๋กœ ์ œํ•œํ•œ๋‹ค. ๋žœ๋ค ์ •์ˆ˜ ์ƒ์„ฑ์€ ๋ฌธ์ œ 5๋ฒˆ์˜ ํžŒํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜๋ผ. ์„ ์ˆ˜๋Š” Player ํด๋ž˜์Šค๋กœ ์ž‘์„ฑํ•˜๊ณ , 2๋ช…์˜ ์„ ์ˆ˜๋Š” ๋ฐฐ์—ด๋กœ ๊ตฌ์„ฑํ•˜๋ผ. ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ์ž„์€ GamblingGame ํด๋ž˜์Šค๋กœ ์ž‘์„ฑํ•˜๋ผ. Objective & Hints: ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ์Šต ...

March 4, 2020 ยท 2 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 13 Solution

Problem: ์˜๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ํ…์ŠคํŠธ์— ๋Œ€ํ•ด ๊ฐ ์•ŒํŒŒ๋ฒณ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” ํžˆ์Šคํ† ๊ทธ๋žจ ํด๋ž˜์Šค Histogram์„ ๋งŒ๋“ค์–ด๋ณด์ž. ๋Œ€๋ฌธ์ž๋Š” ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค. Histogram ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ์‚ฌ๋ก€์™€ Execution Result๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 3 4 5 Histogram elvisHisto("Wise men say, only fools rush in But I can't help, "); elvisHisto.put("falling in love with you"); elvisHisto.putc('-'); elvisHisto.put("Elvis Presley"); elvisHisto.print(); 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #include #include using namespace std; class Histogram { string sent; public: Histogram(string sent); void put(string sent); void putc(char c); void print(); }; Histogram::Histogram(string text){ sent = text; cout << sent << endl; } void Histogram::put(string text){ sent += text; cout << text; } void Histogram::putc(char c){ sent += c; cout << c; } void Histogram::print(){ int alpha[26] = { 0 }; int num = 0; for (int i = 0; i < sent.length(); i++) { if(isalpha(sent[i])){ char c = tolower(sent[i]); alpha[c - 'a']++; num++; } } cout << endl << endl; cout << "์ด ์•ŒํŒŒ๋ฒณ ์ˆ˜ " << num; cout << endl << endl; for (int i = 0; i < 26; ++i) { char c = 'a' + i; cout << c << " (" << alpha[i] << ")\t: "; for (int j = 0; j < alpha[i]; ++j) { cout << "*"; } cout << endl; } } int main() { Histogram elvisHisto("Wise men say, only fools rush in But I can't help, "); elvisHisto.put("falling in love with you"); elvisHisto.putc('-'); elvisHisto.put("Elvis Presley"); elvisHisto.print(); } Explanation: ...

March 4, 2020 ยท 2 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 12 Solution

Problem: ๋‹ค์Œ์€ ์ด๋ฆ„๊ณผ ๋ฐ˜์ง€๋ฆ„์„ ์†์„ฑ์œผ๋กœ ๊ฐ€์ง„ Circle ํด๋ž˜์Šค์™€ ์ด๋“ค์„ ๋ฐฐ์—ด๋กœ ๊ด€๋ฆฌํ•˜๋Š” CircleManager ํด๋ž˜์Šค์ด๋‹ค. 1 2 3 4 5 6 7 8 class Circle{ int radius; // ์›์˜ ๋ฐ˜์ง€๋ฆ„ ๊ฐ’ string name; // ์›์˜ ์ด๋ฆ„ public: void setCircle(string name, int radius); // ์ด๋ฆ„๊ณผ ๋ฐ˜์ง€๋ฆ„ ์„ค์ • double getArea(); string getName(); }; 1 2 3 4 5 6 7 8 9 class CircleManager { Circle *p; // Circle ๋ฐฐ์—ด์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ int size; // ๋ฐฐ์—ด์˜ ํฌ๊ธฐ public: CircleManager(int size); // size ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๋™์  ์ƒ์„ฑ. ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ์™„๋ฃŒ ~CircleManager(); void searchByName(); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์›์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฉด์  ์ถœ๋ ฅ void searchByArea(); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฉด์ ์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฉด์ ๋ณด๋‹ค ํฐ ์›์˜ ์ด๋ฆ„ ์ถœ๋ ฅ }; ํ‚ค๋ณด๋“œ์—์„œ ์›์˜ ๊ฐœ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ๊ทธ ๊ฐœ์ˆ˜๋งŒํผ ์›์˜ ์ด๋ฆ„๊ณผ ๋ฐ˜์ง€๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰๋˜๋„๋ก main() ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋ผ. ...

March 4, 2020 ยท 3 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 11 Solution

Problem: ๋‹ค์Œ์€ ์ปคํ”ผ์žํŒ๊ธฐ๋กœ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋‘ ํด๋ž˜์Šค์ด๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class CoffeeVendingMachine { // ์ปคํ”ผ์žํŒ๊ธฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํด๋ž˜์Šค Container tong[3]; // tong[0]๋Š” ์ปคํ”ผ, tong[1]์€ ๋ฌผ, tong[2]๋Š” ์„คํƒ•ํ†ต์„ ๋‚˜ํƒ€๋ƒ„ void fill(); // 3๊ฐœ์˜ ํ†ต์„ ๋ชจ๋‘ 10์œผ๋กœ ์ฑ„์›€ void selectEspresso(); // ์—์Šคํ”„๋ ˆ์†Œ๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ, ์ปคํ”ผ 1, ๋ฌผ 1 ์†Œ๋ชจ void selectAmericano(); // ์•„๋ฉ”๋ฆฌ์นด๋…ธ๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ, ์ปคํ”ผ 1, ๋ฌผ 2 ์†Œ๋ชจ void selectSugarCoffee(); // ์„คํƒ•์ปคํ”ผ๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ, ์ปคํ”ผ 1, ๋ฌผ 2, ์„คํƒ• 1 ์†Œ๋ชจ void show(); // ํ˜„์žฌ ์ปคํ”ผ, ๋ฌผ, ์„คํƒ•์˜ ์ž”๋Ÿ‰ ์ถœ๋ ฅ public: void run(); // ์ปคํ”ผ ์žํŒ๊ธฐ ์ž‘๋™ }; class Container { // ํ†ต ํ•˜๋‚˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋ž˜์Šค int size; // ํ˜„์žฌ ์ €์žฅ ๋Ÿ‰, ์ตœ๋Œ€ ์ €์žฅ๋Ÿ‰์€ 10 public: Container() {size = 10;} void fill(); // ์ตœ๋Œ€๋Ÿ‰(10)์œผ๋กœ ์ฑ„์šฐ๊ธฐ void consume(); // 1 ๋งŒํผ ์†Œ๋ชจํ•˜๊ธฐ int getSize(); // ํ˜„์žฌ ํฌ๊ธฐ ๋ฆฌํ„ด }; ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰๋˜๋„๋ก main() ํ•จ์ˆ˜์™€ CoffeeVendingMachine, Container๋ฅผ ์™„์„ฑํ•˜๋ผ. ...

March 4, 2020 ยท 3 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 10 Solution

Problem: ๋‹ค์Œ์—์„œ Person์€ ์‚ฌ๋žŒ์„, Family๋Š” ๊ฐ€์กฑ์„ ์ถ”์ƒํ™”ํ•œ ํด๋ž˜์Šค๋กœ์„œ ์™„์„ฑ๋˜์ง€ ์•Š์€ ํด๋ž˜์Šค์ด๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Person { string name; public: Person(string name) { this->name = name;} string getName() { return name;} }; class Family { Person *p; // Person ๋ฐฐ์—ด ํฌ์ธํ„ฐ int size; // Person ๋ฐฐ์—ด์˜ ํฌ๊ธฐ. ๊ฐ€์กฑ ๊ตฌ์„ฑ์› ์ˆ˜ public: Family(string name, int size); // size ๊ฐœ์ˆ˜๋งŒํผ Person ๋ฐฐ์—ด ๋™์  ์ƒ์„ฑ void show(); // ๋ชจ๋“  ๊ฐ€์กฑ ๊ตฌ์„ฑ์› ์ถœ๋ ฅ ~Family(); }; ๋‹ค์Œ main()์ด ์ž‘๋™ํ•˜๋„๋ก Person๊ณผ Family ํด๋ž˜์Šค์— ํ•„์š”ํ•œ ๋ฉค๋ฒ„๋“ค์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•˜๋ผ. ...

March 4, 2020 ยท 2 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 9 Solution

Problem: ๋‹ค์Œ๊ณผ ๊ฐ™์€ Person ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค. Person ํด๋ž˜์Šค์™€ main() ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์—ฌ, 3๊ฐœ์˜ Person ๊ฐ์ฒด๋ฅผ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‚ค๋ณด๋“œ์—์„œ ์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. 1 2 3 4 5 6 7 8 9 class Person{ string name; string tel; public: Person(); string getName() { return name; } string getTel() { return tel; } void set(string name, string tel); }; Objective & Hints: ๊ฐ์ฒด ๋ฐฐ์—ด๊ณผ string ์‘์šฉ ์—ฐ์Šต ...

March 4, 2020 ยท 2 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 7 Solution

Problem: ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์›์„ ์ถ”์ƒํ™”ํ•œ Circle ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค. Circle ํด๋ž˜์Šค์™€ main() ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ  3๊ฐœ์˜ Circle ๊ฐ์ฒด๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ , ๋ฐ˜์ง€๋ฆ„ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๊ณ  ๋ฉด์ ์ด 100๋ณด๋‹ค ํฐ ์›์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. Circle ํด๋ž˜์Šค๋„ ์™„์„ฑํ•˜๋ผ. 1 2 3 4 5 6 class Circle { int radius; // ์›์˜ ๋ฐ˜์ง€๋ฆ„ ๊ฐ’ public: void setRadius(int radius); // ๋ฐ˜์ง€๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค. double getArea(); // ๋ฉด์ ์„ ๋ฆฌํ„ดํ•œ๋‹ค. }; Objective & Hints: ๊ฐ์ฒด ๋ฐฐ์—ด ๋‹ค๋ฃจ๊ธฐ ์—ฐ์Šต ...

March 4, 2020 ยท 1 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 6 Solution

Problem: string ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์˜๋ฌธ ํ•œ ์ค„์„ ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋ฐ›๊ณ  ๊ฑฐ๊พธ๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. Objective & Hints: string ํด๋ž˜์Šค๋กœ ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ Execution Result: Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include using namespace std; int main() { string str; cout << "์•„๋ž˜ ํ•œ ์ค„์„ ์ž…๋ ฅํ•˜์„ธ์š”.(exit๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค)"; while(true){ cout << endl << ">>"; getline(cin,str); if(str == "exit") break; for(int i = str.length()-1; i>=0; i--) cout << str[i]; } } Explanation: ...

March 4, 2020 ยท 1 min ยท Sobamemil
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.4 Exercise 5 Solution

Problem: string ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์˜๋ฌธ ํ•œ ์ค„์„ ์ž…๋ ฅ๋ฐ›๊ณ  ๊ธ€์ž ํ•˜๋‚˜๋งŒ ๋žœ๋คํ•˜๊ฒŒ ์ˆ˜์ •ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. Objective & Hints: string ํด๋ž˜์Šค๋กœ ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๋žœ๋ค ์ •์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋‘ ๋ผ์ธ์˜ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ์™€ ํ—ค๋” ํŒŒ์ผ์„ include ํ•ด์•ผ ํ•œ๋‹ค. 1 2 srand((unsinged)time(0)); // ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค, ๋‹ค๋ฅธ ๋žœ๋ค์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ seed ์„ค์ • int n = rand(); // 0์—์„œ RAND_MAX(32767) ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์ •์ˆ˜ ๋ฐœ์ƒ Execution Result: 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 25 26 #include #include #include #include using namespace std; int main() { string sent; int n; cout << "์•„๋ž˜ ํ•œ ์ค„์„ ์ž…๋ ฅํ•˜์„ธ์š”.(exit๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค)" ; while(true){ srand((unsigned)time(0)); cout << "\n>>"; getline(cin,sent); if(sent == "exit") break; int length = sent.length(); while(true){ n = rand()%length; if(sent[n]!=' ') break; } int a = rand()%25+95; // ์ž„์˜์˜ ๋ฌธ์ž ํ•˜๋‚˜ ์„ ํƒ sent[n] = (char)a; cout << sent; } } Explanation: ...

March 4, 2020 ยท 1 min ยท Sobamemil