๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.6 Exercise 9 Solution

Problem: ๊ฒŒ์‹œํŒ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์ž. ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์˜ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋“ค์ด ๊ฒŒ์‹œํŒ์— ๊ธ€์„ ์˜ฌ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒŒ์‹œํŒ ๊ฐ์ฒด๋Š” ์ „์ฒด ํ•˜๋‚˜๋งŒ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ฒŒ์‹œํŒ ๊ฐ์ฒด์˜ ๋ฉค๋ฒ„๋“ค์€ static์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ๋‹ค์Œ์€ ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” Board ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” main() ์ฝ”๋“œ์ด๋‹ค. Execution Result๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Board ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. static ์—ฐ์Šต์ด ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ์„ ๊ธ€์„ ์˜ฌ๋ฆฌ๋Š” ๊ธฐ๋Šฅ๊ณผ ๊ฒŒ์‹œ๊ธ€์„ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ œํ•œํ•˜๊ณ  main()๋„ ๋‹จ์ˆœํ™”ํ•˜์˜€๋‹ค. 1 2 3 4 5 6 7 8 int main() { // Board myBoard; // ๊ฐ์ฒด ์ƒ์„ฑ์€ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. Board::add("์ค‘๊ฐ„๊ณ ์‚ฌ๋Š” ๊ฐ๋… ์—†๋Š” ์ž์œจ ์‹œํ—˜์ž…๋‹ˆ๋‹ค."); Board::add("์ฝ”๋”ฉ ๋ผ์šด์ง€ ๋งŽ์ด ์ด์šฉํ•ด ์ฃผ์„ธ์š”."); Board::print(); Board::add("์ง„์†Œ๋ฆฐ ํ•™์ƒ์ด ๊ฒฝ์ง„๋Œ€ํšŒ ์ž…์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ถ•ํ•˜ํ•ด์ฃผ์„ธ์š”"); Board::print(); } Execution Result: ...

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

C++ Programming Ch.6 Exercise 8 Solution

Problem: ๋””๋ฒ„๊น…์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” Trace ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž. ์ €์ž์˜ ๊ฒฝํ—˜์— ์˜ํ•˜๋ฉด, ๋ฉ€ํ‹ฐํƒœ์Šคํฌ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ํŠน๋ณ„ํ•œ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ๋•Œ, Visual Studio์˜ ๋””๋ฒ„๊ฑฐ์™€ ๊ฐ™์€ ์†Œ์Šค ๋ ˆ๋ฒจ ๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋”๋Ÿฌ ์žˆ์—ˆ๊ณ , ์ด๋•Œ ์‹คํ–‰ ๋„์ค‘ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด Trace ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜์˜€๋‹ค. Trace ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Trace ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. ๋””๋ฒ„๊น… ์ •๋ณด๋Š” 100๊ฐœ๋กœ ์ œํ•œํ•œ๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 void f() { int a, b, c; cout << "๋‘ ๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”>>"; cin >> a >> b; Trace::put("f()", "์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์•˜์Œ"); // ๋””๋ฒ„๊น… ์ •๋ณด ์ €์žฅ c = a + b; Trace::put("f()", "ํ•ฉ ๊ณ„์‚ฐ"); // ๋””๋ฒ„๊น… ์ •๋ณด ์ €์žฅ cout << "ํ•ฉ์€ " << c << endl; } int main() { Trace::put("main()", "ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค"); // ๋””๋ฒ„๊น… ์ •๋ณด ์ €์žฅ f(); Trace::put("main()", "์ข…๋ฃŒ"); // put()์˜ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ํƒœ๊ทธ์ด๊ณ  // ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋””๋ฒ„๊น… ์ •๋ณด์ด๋‹ค. Trace::print("f()"); // "f()" ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง„ ๋””๋ฒ„๊น… ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•œ๋‹ค. Trace::print(); // ๋ชจ๋“  ๋””๋ฒ„๊น… ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. } Execution Result: ...

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

C++ Programming Ch.6 Exercise 6 Solution

Problem: ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๋ณ€ํ™˜ํ•˜๋Š” ๋‹ค์Œ 2๊ฐœ์˜ static ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง„ ArrayUtiliry2 ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ์ด ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์•„๋ž˜ ๊ฒฐ๊ณผ์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋„๋ก ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋ผ. 1 2 3 4 5 6 // s1๊ณผ s2๋ฅผ ์—ฐ๊ฒฐํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋™์  ์ƒ์„ฑํ•˜๊ณ  ํฌ์ธํ„ฐ ๋ฆฌํ„ด static int* concat(int s1[], int s2[], int size); // s1์—์„œ s2์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋™์  ์ƒ์„ฑํ•˜์—ฌ ๋ฆฌํ„ด // ๋ฆฌํ„ดํ•˜๋Š” ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” retSize์— ์ „๋‹ฌ. retSize๊ฐ€ 0์ธ ๊ฒฝ์šฐ NULL ๋ฆฌํ„ด static int* remove(int s1[], int s2[], int size, int& retSize); Execution Result: ...

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

C++ Programming Ch.6 Exercise 5 Solution

Problem: ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ๋ฐฐ์—ด์„ ๋ณ€ํ™˜ํ•˜๋Š” ๋‹ค์Œ 2๊ฐœ์˜ static ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง„ ArrayUtility ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ผ. 1 2 3 4 static void intToDouble(int source[], double dest[], int size); // int[]์„ double[]๋กœ ๋ณ€ํ™˜ static void doubleToInt(double source[], int dest[], int size); // double[]์„ int[]๋กœ ๋ณ€ํ™˜ ArrayUtility๋ฅผ ํ™œ์šฉํ•˜๋Š” main()์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 int main() { int x[] = {1,2,3,4,5}; double y[5]; double z[] = {9.9,8.8,7.7,6.6,5.6}; ArrayUtility::intToDouble(x, y, 5); // x[] -> y[] for(int i=0; i<5; i++) cout << y[i] << ' '; cout << endl; ArrayUtility::doubleToInt(z, x, 5); // z[] -> x[] for(int i=0; i<5; i++) cout << x[i] << ' '; cout << endl; } Execution Result: ...

March 6, 2020 ยท 2 min ยท Sobamemil