๐Ÿ’ป Dev & CSC++ Programming

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

C++ Programming Ch.3 Exercise 11 Solution

Problem: ๋‹ค์Œ ์ฝ”๋“œ์—์„œ Box ํด๋ž˜์Šค์˜ ์„ ์–ธ๋ถ€์™€ ๊ตฌํ˜„๋ถ€๋ฅผ Box.h, Box.cpp ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  main() ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ main.cpp๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. 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 #include using namespace std; class Box { int width, height; char fill; public: Box(int w, int h) { setSize(w, h); fill = '*';} void setFill(char f) {fill = f;} void setSize(int w, int h) { width = w; height = h;} void draw(); }; void Box::draw() { for (int n = 0; n < height; n++) { for (int m = 0; m < width; m++) cout << fill; cout << endl; } } int main() { Box b(10, 2); b.draw(); // ๋ฐ•์Šค๋ฅผ ๊ทธ๋ฆฐ๋‹ค. cout << endl; b.setSize(7, 4); // ๋ฐ•์Šค์˜ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค. b.setFill('^'); // ๋ฐ•์Šค์˜ ๋‚ด๋ถ€๋ฅผ ์ฑ„์šธ ๋ฌธ์ž๋ฅผ '^'๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. b.draw(); // ๋ฐ•์Šค๋ฅผ ๊ทธ๋ฆฐ๋‹ค. } Objective & Hints: ...

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

C++ Programming Ch.3 Exercise 10 Solution

Problem: ๋‹ค์ˆ˜์˜ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ด๋‹ค. ๋”ํ•˜๊ธฐ(+), ๋นผ๊ธฐ(-), ๊ณฑํ•˜๊ธฐ(*), ๋‚˜๋ˆ„๊ธฐ(/)๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” 4๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ Add, Sub, Mul, Div๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค. ์ด๋“ค์€ ๋ชจ๋‘ ๊ณตํ†ต์œผ๋กœ ๋‹ค์Œ ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์ง„๋‹ค. โ— int ํƒ€์ž… ๋ณ€์ˆ˜ a, b : ํ”ผ์—ฐ์‚ฐ์ž โ— void setValue(int x, int y) ํ•จ์ˆ˜ : ๋งค๊ฐœ ๋ณ€์ˆ˜ x, y๋ฅผ ๋ฉค๋ฒ„ a, b์— ๋ณต์‚ฌ โ— int calculate() ํ•จ์ˆ˜ : ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ ๋ฆฌํ„ด main() ํ•จ์ˆ˜๋Š” Add, Sub, Mul, Div ํด๋ž˜์Šค ํƒ€์ž…์˜ ๊ฐ์ฒด a, s, m, d๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์•„๋ž˜์™€ ๊ฐ™์ด ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ๋‘ ๊ฐœ์˜ ์ •์ˆ˜์™€ ์—ฐ์‚ฐ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , a, s, m, d ๊ฐ์ฒด ์ค‘์—์„œ ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•  ๊ฐ์ฒด์˜ setValue() ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ํ›„, calculate()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•œ๋‹ค. ...

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

C++ Programming Ch.3 Exercise 9 Solution

Problem: Oval ํด๋ž˜์Šค๋Š” ์ฃผ์–ด์ง„ ์‚ฌ๊ฐํ˜•์— ๋‚ด์ ‘ํ•˜๋Š” ํƒ€์›์„ ์ถ”์ƒํ™”ํ•œ ํด๋ž˜์Šค์ด๋‹ค. Oval ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋Š” ๋ชจ๋‘ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Oval ํด๋ž˜์Šค๋ฅผ ์„ ์–ธ๋ถ€์™€ ๊ตฌํ˜„๋ถ€๋กœ ๋‚˜๋ˆ„์–ด ์ž‘์„ฑํ•˜๋ผ. โ— ์ •์ˆ˜๊ฐ’์˜ ์‚ฌ๊ฐํ˜• ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ฐ€์ง€๋Š” width, height ๋ณ€์ˆ˜ ๋ฉค๋ฒ„ โ— ๋„ˆ๋น„์™€ ๋†’์ด ๊ฐ’์„ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ๋ฐ›๋Š” ์ƒ์„ฑ์ž โ— ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜ ์—†๋Š” ์ƒ์„ฑ์ž โ— width์™€ height๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์†Œ๋ฉธ์ž โ— ํƒ€์›์ด ๋„ˆ๋น„๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” getWidth() ํ•จ์ˆ˜ ๋ฉค๋ฒ„ โ— ํƒ€์›์˜ ๋†’์ด๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” getHeight() ํ•จ์ˆ˜ ๋ฉค๋ฒ„ โ— ํƒ€์›์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” set(int w, int h) ํ•จ์ˆ˜ ๋ฉค๋ฒ„ ...

March 3, 2020 ยท 2 min ยท Sobamemil