๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.10 Exercise 7 Solution

Problem: ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์†Œ์Šค์˜ ์–ด๋””์—์„œ ์™œ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๊ฐ€? 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; class Circle { int radius; public: Circle(int radius = 1) { this->radius = radius; } int getRadius() { return radius; } }; template T bigger(T a, T b) { // ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ํฐ ๊ฐ’์„ ๋ฆฌํ„ด if (a > b) return a; else return b; } int main() { int a = 20, b = 50, c; c = bigger(a, b); cout << "20๊ณผ 50์ค‘ ํฐ ๊ฐ’์€ " << c << endl; Circle waffle(10), pizza(20), y; y = bigger(waffle, pizza); cout << "waffle๊ณผ pizza ์ค‘ ํฐ ๊ฒƒ์˜ ๋ฐ˜์ง€๋ฆ„์€ " << y.getRadius() << endl; } Execution Result: ...

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

C++ Programming Ch.10 Exercise 5 Solution

Problem: ๋‹ค์Œ ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง„ ๋‘ ๊ฐœ์˜ int ๋ฐฐ์—ด์„ ์—ฐ๊ฒฐํ•œ ์ƒˆ๋กœ์šด int ๋ฐฐ์—ด์„ ๋™์  ํ• ๋‹น๋ฐ›์•„ ๋ฆฌํ„ดํ•œ๋‹ค. 1 int * concat(int a[], int sizea, int b[], int sizeb); concat๊ฐ€ int ๋ฐฐ์—ด๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๋ฐฐ์—ด๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ผ๋ฐ˜ํ™”ํ•˜๋ผ. 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; template T* concat(T a[], int sizea, T b[], int sizeb){ T *rArray = new T[sizea + sizeb]; // return ํ•  ๋ฐฐ์—ด์„ ๋™์ ์ƒ์„ฑ for(int i=0; i<sizea+sizeb; i++){ if(i<sizea) rArray[i] = a[i]; else rArray[i] = b[i-sizea]; } return rArray; } int main() { int x[] = { 1, 10, 100, 5, 4 }; int y[] = { 7, 6, 10, 9 }; int *a = concat(x, 5, y, 4); int aSize = sizeof(x)/sizeof(x[0]) + sizeof(y)/sizeof(y[0]); // a์— ๋“ค์–ด์žˆ๋Š” ์›์†Œ์˜ ๊ฐœ์ˆ˜ for (int i = 0; i<aSize; i++) cout << a[i] << ' '; }

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

C++ Programming Ch.10 Exercise 4 Solution

Problem: ๋ฐฐ์—ด์—์„œ ์›์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” search() ํ•จ์ˆ˜๋ฅผ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ž‘์„ฑํ•˜๋ผ. search()์˜ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๊ฒ€์ƒ‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์›์†Œ ๊ฐ’์ด๊ณ , ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋ฐฐ์—ด์ด๋ฉฐ, ์„ธ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. search() ํ•จ์ˆ˜๊ฐ€ ๊ฒ€์ƒ‰์— ์„ฑ๊ณตํ•˜๋ฉด true๋ฅผ, ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. search()์˜ ํ˜ธ์ถœ ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 3 int x[] = {1, 10, 100, 5, 4}; if(search(100, x, 5)) cout << "100์ด ๋ฐฐ์—ด x์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค"; // ์ด cout ์‹คํ–‰ else cout << "100์ด ๋ฐฐ์—ด x์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค"; Execution Result: ...

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

C++ Programming Ch.10 Exercise 3 Solution

Problem: ๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ ๋ฐ˜๋Œ€ ์ˆœ์„œ๋กœ ๋’ค์ง‘๋Š” reverseArray() ํ•จ์ˆ˜๋ฅผ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ž‘์„ฑํ•˜๋ผ. reverseArray()์˜ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋ฐฐ์—ด์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ์ด๋ฉฐ ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. reverseArray()์˜ ํ˜ธ์ถœ ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 3 4 int x[] = { 1, 10, 100, 5, 4}; reverseArray(x, 5); for(int i=0; i<5; i++) cout << x[i] << ' '; // 4 5 100 10 1์ด ์ถœ๋ ฅ๋œ๋‹ค. Execution Result: Objective & Hints: ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ ...

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

C++ Programming Ch.10 Exercise 2 Solution

Problem: ๋‘ ๊ฐœ์˜ ๋ฐฐ์—ด์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์œผ๋ฉด true๋ฅผ, ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ์ œ๋„ค๋ฆญ ํ•จ์ˆ˜ equalArrays()๋ฅผ ์ž‘์„ฑํ•˜๋ผ. ๋˜ํ•œ main() ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์—ฌ equalArrays()๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌ๋ก€๋ฅผ ๋ณด์—ฌ๋ผ. equalArrays()๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 3 4 5 6 int x[] = {1, 10, 100, 5, 4}; int y[] = {1, 10, 100, 5, 4}; if(equalArray(x, y, 5)) cout << "๊ฐ™๋‹ค"; // ๋ฐฐ์—ด x, y๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ "๊ฐ™๋‹ค" ์ถœ๋ ฅ else cout << "๋‹ค๋ฅด๋‹ค"; Execution Result: ...

March 9, 2020 ยท 1 min ยท Sobamemil