๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.11 Exercise 8 Solution

Problem: Circle ํด๋ž˜์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 3 4 5 6 7 8 class Circle { string name; int radius; public: Circle(int radius=1, string name="") { this->radius = radius; this->name = name; } }; Circle ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ž…์ถœ๋ ฅํ•˜๋Š” ๋‹ค์Œ ์ฝ”๋“œ์™€ Execution Result๋ฅผ ์ฐธ์กฐํ•˜์—ฌ <<, >> ์—ฐ์‚ฐ์ž๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Circle ํด๋ž˜์Šค๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋“ฑ ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. 1 2 3 Circle d, w; cin >> d >> w; // ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ๋ฐ›์•„ ๊ฐ์ฒด d์™€ w๋ฅผ ์™„์„ฑ cout << d << w << endl; // ๊ฐ์ฒด d, w ์ถœ๋ ฅ Execution Result: ...

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

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
๐Ÿ’ป Dev & CSC++ Programming

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
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.5 Exercise 12 Solution

Problem: ๋‹ค์Œ์€ ํ•™๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Dept ํด๋ž˜์Šค์™€ ์ด๋ฅผ ํ™œ์šฉํ•˜๋Š” main()์„ ๋ณด์—ฌ ์ค€๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Dept { int size; // scores ๋ฐฐ์—ด์˜ ํฌ๊ธฐ int* scores; // ๋™์  ํ• ๋‹น ๋ฐ›์„ ์ •์ˆ˜ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ public: Dept(int size) { // ์ƒ์„ฑ์ž this->size = size; scores = new int[size]; } Dept(const Dept& dept); // ๋ณต์‚ฌ ์ƒ์„ฑ์ž ~Dept(); // ์†Œ๋ฉธ์ž int getSize() { return size; } void read(); // size ๋งŒํผ ํ‚ค๋ณด๋“œ์—์„œ ์ •์ˆ˜๋ฅผ ์ฝ์–ด scores ๋ฐฐ์—ด์— ์ €์žฅ bool isOver60(int index); // index์˜ ํ•™์ƒ์˜ ์„ฑ์ ์ด 60๋ณด๋‹ค ํฌ๋ฉด true ๋ฆฌํ„ด }; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 int countPass(Dept dept) { // dept ํ•™๊ณผ์— 60์  ์ด์ƒ์œผ๋กœ ํ†ต๊ณผํ•˜๋Š” ํ•™์ƒ์˜ ์ˆ˜ ๋ฆฌํ„ด int count = 0; for (int i = 0; i < dept.getSize(); i++) { if (dept.isOver60(i)) count++; } return count; } int main() { Dept com(10); // ์ด 10๋ช…์ด ์žˆ๋Š” ํ•™๊ณผ com com.read(); // ์ด 10๋ช…์˜ ํ•™์ƒ๋“ค์˜ ์„ฑ์ ์„ ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ฝ์–ด scores ๋ฐฐ์—ด์— ์ €์žฅ int n = countPass(com); // com ํ•™๊ณผ์— 60์  ์ด์ƒ์œผ๋กœ ํ†ต๊ณผํ•œ ํ•™์ƒ์˜ ์ˆ˜๋ฅผ ๋ฆฌํ„ด cout << "60์  ์ด์ƒ์€ " << n << "๋ช…"; } (1) main()์˜ Execution Result๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋˜๋„๋ก Dept ํด๋ž˜์Šค์— ๋ฉค๋ฒ„๋“ค์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ•˜๊ณ , ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. ...

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

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
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.5 Exercise 8 Solution

Problem: ๋ฌธ์ œ 7๋ฒˆ์˜ MyIntStack์„ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธํ•˜์˜€๋‹ค. ์Šคํƒ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ˆ˜์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋Š” ์ƒ์„ฑ์ž์—์„œ ์ฃผ์–ด์ง€๊ณ  size ๋ฉค๋ฒ„์— ์œ ์ง€ํ•œ๋‹ค. MyIntStack ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ผ. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class MyIntStack{ int *p; // ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์‚ฌ์šฉํ•  ํฌ์ธํ„ฐ int size; // ์Šคํƒ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ int tos; // ์Šคํƒ์˜ ํƒ‘์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ธ๋ฑ์Šค public: MyIntStack(); MyIntStack(int size); MyIntStack(const MyIntStack& s); // ๋ณต์‚ฌ ์ƒ์„ฑ์ž ~MyIntStack(); bool push(int n); // ์ •์ˆ˜ n์„ ์Šคํƒ์— ํ‘ธ์‹œํ•œ๋‹ค. // ์Šคํƒ์ด ๊ฝ‰ ์ฐจ ์žˆ์œผ๋ฉด false๋ฅผ, ์•„๋‹ˆ๋ฉด true ๋ฆฌํ„ด bool pop(int &n); // ์Šคํƒ์˜ ํƒ‘์— ์žˆ๋Š” ๊ฐ’์„ n์— ํŒํ•œ๋‹ค. // ๋งŒ์ผ ์Šคํƒ์ด ๋น„์–ด ์žˆ์œผ๋ฉด false๋ฅผ, ์•„๋‹ˆ๋ฉด true ๋ฆฌํ„ด }; MyIntStack ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ์ฝ”๋“œ์™€ Execution Result๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ...

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

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
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.5 Exercise 5 Solution

Problem: ๋‹ค์Œ Circle ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค. 1 2 3 4 5 6 7 8 class Circle{ int radius; public: Circle(int r) {radius =r;} int getRadius() {return radius;} void setRadius(int r) {radius = r;} void show() {cout << "๋ฐ˜์ง€๋ฆ„์ด " << radius << "์ธ ์›" << endl;} }; Circle ๊ฐ์ฒด b๋ฅผ a์— ๋”ํ•˜์—ฌ a๋ฅผ ํ‚ค์šฐ๊ณ ์ž ๋‹ค์Œ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. 1 2 3 4 void increaseBy(Circle a, Circle b) { int r = a.getRadius() + b.getRadius(); a.setRadius(r); } ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด increaseBy() ํ•จ์ˆ˜๋Š” ๋ชฉ์ ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š”๊ฐ€? ...

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

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
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.5 Exercise 2 Solution

Problem: ๋‹ค์Œ main() ํ•จ์ˆ˜์™€ Execution Result๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ half() ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋ผ. 1 2 3 4 5 int main() { double n = 20; half(n); // n์˜ ๋ฐ˜๊ฐ’์„ ๊ตฌํ•ด n์„ ๋ฐ”๊พผ๋‹ค. cout << n; // 10์ด ์ถœ๋ ฅ๋œ๋‹ค. } Execution Result: Objective & Hints: ์ฐธ์กฐ ์—ฐ์Šต Code: 1 2 3 4 5 6 7 8 9 10 11 12 #include using namespace std; half(double &num){ // ์ฐธ์กฐ์— ์˜ํ•œ ํ˜ธ์ถœ num /= 2; // num์œผ๋กœ ๋„˜์–ด์˜จ ๋ณธ๋ž˜์˜ ๊ฐ’์ด ๋ฐ”๋€œ } int main() { double n = 20; half(n); // n์˜ ๋ฐ˜๊ฐ’์„ ๊ตฌํ•ด n์„ ๋ฐ”๊พผ๋‹ค. cout << n; // 10์ด ์ถœ๋ ฅ๋œ๋‹ค. } Explanation: ...

March 5, 2020 ยท 1 min ยท Sobamemil