๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.6 Exercise 7 Solution

Problem: ๋‹ค์Œ๊ณผ ๊ฐ™์€ static ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์ง„ Random ํด๋ž˜์Šค๋ฅผ ์™„์„ฑํ•˜๋ผ(Open Challenge ํžŒํŠธ ์ฐธ๊ณ ). ๊ทธ๋ฆฌ๊ณ  Random ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋žœ๋คํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” main() ํ•จ์ˆ˜๋„ ์ž‘์„ฑํ•˜๋ผ. main()์—์„œ Random ํด๋ž˜์Šค์˜ seed() ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ผ. Execution Result: Objective & Hints: static ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์ง„ ํด๋ž˜์Šค ๋งŒ๋“ค๊ธฐ ๋ฐ ์‚ฌ์šฉ ์—ฐ์Šต ์ •์ˆ˜๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋‹ค์Œ์„ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1 2 3 srand((unsigned)time(0)); // ํ•ญ์ƒ ๋‹ค๋ฅธ ๋žœ๋ค์ˆ˜๋ฅผ ๋ฐฉ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ seed ์„ค์ • int n = rand(); // 0์—์„œ RAND_MAX(32767) ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์ •์ˆ˜๊ฐ€ n์— ๋ฐœ์ƒ n = n % 100; // n์€ 0์—์„œ 99 ์‚ฌ์ด์˜ ์ •์ˆ˜ Code: ...

March 6, 2020 ยท 2 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 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
๐Ÿ’ป Dev & CSC++ Programming

C++ Programming Ch.3 Exercise 5 Solution

Problem: ๋žœ๋ค ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” Random ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์ž. Random ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋žœ๋ค ํ•œ ์ •์ˆ˜๋ฅผ 10๊ฐœ ์ถœ๋ ฅํ•˜๋Š” ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Random ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑ์ž, next(), nextInRange()์˜ 3๊ฐœ์˜ ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง€๋„๋ก ์ž‘์„ฑํ•˜๊ณ  main() ํ•จ์ˆ˜์™€ ํ•ฉ์ณ ํ•˜๋‚˜์˜ cpp ํŒŒ์ผ์— ๊ตฌํ˜„ํ•˜๋ผ. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 int main() { Random r; cout << "-- 0์—์„œ " << RAND_MAX << "๊นŒ์ง€์˜ ๋žœ๋ค ์ •์ˆ˜ 10 ๊ฐœ--" << endl; for(int i=0; i<10; i++) { int n = r.next(); // 0์—์„œ RAND_MAX(32767) ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์ •์ˆ˜ cout << n << ' '; } cout << endl << endl << "-- 2์—์„œ " << "4 ๊นŒ์ง€์˜ ๋žœ๋ค ์ •์ˆ˜ 10 ๊ฐœ --" << endl; for(int i=0; i<10; i++) { int n = r.nextInRange(2,4); // 2์—์„œ 4 ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์ •์ˆ˜ cout << n << ' '; } cout << endl; } Objective & Hints: ...

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

C++ Programming Ch.2 Exercise 15 Solution

Problem: ๋ง์…ˆ(+), ๋บ„์…ˆ(-), ๊ณฑ์…ˆ(*), ๋‚˜๋ˆ—์…ˆ(/), ๋‚˜๋จธ์ง€(%)์˜ ์ •์ˆ˜ 5์ฒ™ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค. ์ •์ˆ˜์™€ ์—ฐ์‚ฐ์ž๋Š” ํ•˜๋‚˜์˜ ๋นˆ์นธ์œผ๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค. Objective & Hints: ๊ณต๋ฐฑ์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด ์ฝ๊ธฐ, C++ ํ”„๋กœ๊ทธ๋žจ ์ข…ํ•ฉ ์‘์šฉ ํ•œ ์ค„์„ ๋ฌธ์ž์—ด๋กœ ์ฝ๊ณ , ๊ณต๋ฐฑ ๋ฌธ์ž๋ฅผ ์ฐพ์•„ ์—ฐ์‚ฐ์ž์™€ ๋‘ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ ํ›„, ๊ณ„์‚ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ฐ”๊ฟ€ ๋•Œ atoi() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด atoi("34") = 34 ์ž…๋‹ˆ๋‹ค. 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 27 28 29 30 31 32 33 34 35 36 37 #include #include #include using namespace std; int main(){ char sic[100]; char *symbol; int front,rear; while(true){ cout << "? "; cin.getline(sic,100); front = atoi(strtok(sic, " ")); symbol = strtok(NULL, " "); rear = atoi(strtok(NULL, " ")); if(*symbol == '+'){ cout << front << " + " << rear << " = " << front+rear << endl; } else if(*symbol == '-'){ cout << front << " - " << rear << " = " << front-rear << endl; } else if(*symbol == '*'){ cout << front << " * " << rear << " = " << front*rear << endl; } else if(*symbol == '/'){ cout << front << " / " << rear << " = " << front/rear << endl; } else if(*symbol == '%'){ cout << front << " % " << rear << " = " << front%rear << endl; } } return 0; } Explanation: ...

February 28, 2020 ยท 2 min ยท Sobamemil