<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>C&#43;&#43; on Sobamemil</title>
    <link>https://blog.sobamemil.com/en/tags/c&#43;&#43;/</link>
    <description>Recent content in C&#43;&#43; on Sobamemil</description>
    <image>
      <title>Sobamemil</title>
      <url>https://blog.sobamemil.com/images/og-image.png</url>
      <link>https://blog.sobamemil.com/images/og-image.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 02 Apr 2020 16:58:54 +0900</lastBuildDate>
    <atom:link href="https://blog.sobamemil.com/en/tags/c++/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/143-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Thu, 02 Apr 2020 16:58:54 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/143-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;커피 자판기 시뮬레이터를 C++로 작성해보자. 실행 사례는 다음과 같다.&lt;/p&gt;
&lt;p&gt;자판기는 보통 커피, 설탕  커피, 블랙 커피의 3종류만 판매한다.&lt;/p&gt;
&lt;p&gt;단순화를 위해 실행 살에는 총 3인분의 재료만 가지도록 하였다. 커피 메뉴에 따라 필요한 재료들이 하나씩 없어진다.&lt;/p&gt;
&lt;p&gt;객체 지향 구조에 따라 필요한 클래스를 작성하여 프로그램을 완성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/143/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;객체 지향 구조로 종합 응용 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  163  164  165  166  167  168  169&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;iomanip&gt;  using namespace std;    class Material {  protected:  string name;  int amount;  public:  string getName() {  return name;  }  int getAmount() {  return amount;  }  void setAmount(int amount) {  this-&amp;gt;amount = amount;  }  bool subAmount(int amount) {  if(this-&amp;gt;amount &amp;lt;= 0)  return false;  else  this-&amp;gt;amount -= amount;  return true;  }  };    class Coffee : public Material {  public:  Coffee() {  name = &amp;quot;Coffee&amp;quot;;  amount = 3;  }  };    class Sugar : public Material {  public:  Sugar() {  name = &amp;quot;Sugar&amp;quot;;  amount = 3;  }  };    class Cream : public Material {  public:  Cream() {  name = &amp;quot;Cream&amp;quot;;  amount = 3;  }  };    class Water : public Material {  public:  Water() {  name = &amp;quot;Water&amp;quot;;  amount = 3;  }  };    class Cup : public Material {  public:  Cup() {  name = &amp;quot;Cup&amp;quot;;  amount = 3;  }  };    class CoffeeMachine {  Material *mat[]; // Material의 객체 배열 포인터 생성  public:  CoffeeMachine() { // 생성자에서 안내 멘트와 재료 상태 출력  cout &amp;lt;&amp;lt; &amp;quot;-----명품 커피 자판기 켭니다.-----&amp;quot; &amp;lt;&amp;lt; endl;  mat[0] = new Coffee();  mat[1] = new Sugar();  mat[2] = new Cream();  mat[3] = new Water();  mat[4] = new Cup();  showCoffeeMachineState();  cout &amp;lt;&amp;lt; endl;  }  void showCoffeeMachineState() { // 재료 상태 출력  for(int i=0; i&amp;lt;5; i++) {  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; mat[i]-&amp;gt;getName();  for(int j=0; j&amp;lt;mat[i]-&amp;gt;getAmount(); j++)  cout &amp;lt;&amp;lt; &amp;quot;*&amp;quot;;  cout &amp;lt;&amp;lt; endl;  }  }  void start() { // 메뉴 출력 시작  int num;  while(true) {  showMenu();  num = selectMenu();  if(num == 3) { // 채우기  for(int i=0; i&amp;lt;5; i++) {  mat[i]-&amp;gt;setAmount(3);  }  cout &amp;lt;&amp;lt; &amp;quot;모든 통을 채웁니다~~&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  cout &amp;lt;&amp;lt; endl;  continue;  }  else if(num == 4) { // 종료  cout &amp;lt;&amp;lt; &amp;quot;프로그램을 종료합니다...&amp;quot; &amp;lt;&amp;lt; endl;  exit(0);  }    if(mat[0]-&amp;gt;subAmount(1) == false) { // coffee-1  cout &amp;lt;&amp;lt; &amp;quot;재료가 부족합니다.&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  continue;  }  if(mat[3]-&amp;gt;subAmount(1) == false) { // water-1  cout &amp;lt;&amp;lt; &amp;quot;재료가 부족합니다.&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  continue;  }  if(mat[4]-&amp;gt;subAmount(1) == false) { // cup-1  cout &amp;lt;&amp;lt; &amp;quot;재료가 부족합니다.&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  continue;  }  // 기본 재료가 부족하지 않으면 실행  switch(num) {  case 0: // 보통 커피는 cream 추가 소모  if(mat[2]-&amp;gt;subAmount(1) == false) { // cream-1  cout &amp;lt;&amp;lt; &amp;quot;재료가 부족합니다.&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  continue;  }  cout &amp;lt;&amp;lt; &amp;quot;맛있는 보통 커피 나왔습니다~~&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  cout &amp;lt;&amp;lt; endl;  break;  case 1: // 설탕 커피는 sugar 추가 소모  if(mat[1]-&amp;gt;subAmount(1) == false) { // sugar-1  cout &amp;lt;&amp;lt; &amp;quot;재료가 부족합니다.&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  continue;  }  cout &amp;lt;&amp;lt; &amp;quot;맛있는 설탕 커피 나왔습니다~~&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  cout &amp;lt;&amp;lt; endl;  break;  case 2: // 블랙 커피는 추가 소모 없음  cout &amp;lt;&amp;lt; &amp;quot;맛있는 블랙 커피 나왔습니다~~&amp;quot; &amp;lt;&amp;lt; endl;  showCoffeeMachineState();  break;  default : // 잘못 입력  cout &amp;lt;&amp;lt; &amp;quot;잘못 입력 하셨습니다.&amp;quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;  break;  }  }  }  void showMenu() {  cout &amp;lt;&amp;lt; &amp;quot;보통 커피:0, 설탕 커피:1, 블랙 커피:2, 채우기:3, 종료:4&amp;gt;&amp;gt; &amp;quot;;  }  int selectMenu() {  int num;  cin &amp;gt;&amp;gt; num;  return num;  }  };    int main() {  cout.setf(ios::left);  CoffeeMachine c;  c.start();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 11 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/142-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Thu, 02 Apr 2020 14:19:10 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/142-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 프로그램과 Execution Result를 보여준다. pos 조작자를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  int x, y;  cin &amp;gt;&amp;gt; pos &amp;gt;&amp;gt; x;  cin &amp;gt;&amp;gt; pos &amp;gt;&amp;gt; y;  cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &#39;,&#39; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/142/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;조작자 작성 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    istream&amp;amp; pos (istream&amp;amp; ins) { // pos 조작자  cout &amp;lt;&amp;lt; &amp;quot;위치는? &amp;quot;;  return ins;  }    int main() {  int x, y;  cin &amp;gt;&amp;gt; pos &amp;gt;&amp;gt; x;  cin &amp;gt;&amp;gt; pos &amp;gt;&amp;gt; y;  cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &#39;,&#39; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;](&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/141-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Thu, 02 Apr 2020 14:15:27 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/141-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 프로그램과 Execution Result를 보여준다.&lt;/p&gt;
&lt;p&gt;prompt 조작자를 작성하여 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;string&gt;  using namespace std;    int main() {  string password;  while(true) {  cin &amp;gt;&amp;gt; prompt &amp;gt;&amp;gt; password;  if(password == &amp;quot;C++&amp;quot;) {  cout &amp;lt;&amp;lt; &amp;quot;login success!!&amp;quot; &amp;lt;&amp;lt; endl;  break;  }  else  cout &amp;lt;&amp;lt; &amp;quot;login fail. try again!!&amp;quot; &amp;lt;&amp;lt; endl;  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/140-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Thu, 02 Apr 2020 14:00:37 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/140-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 Phone 클래스이다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11&lt;/td&gt;
          &lt;td&gt;class Phone { // 전화 번호를 표현하는 클래스  string name;  string telnum;  string address;  public:  Phone(string name=&amp;quot;&amp;quot;, string telnum=&amp;quot;&amp;quot;, string address=&amp;quot;&amp;quot;) {  this-&amp;gt;name = name;  this-&amp;gt;telnum = telnum;  this-&amp;gt;address = address;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Phone 클래스의 객체를 입출력하는 아래 코드와 Execution Result를 참조하여 &amp;lt;&amp;lt;, &amp;gt;&amp;gt; 연산자를 작성하고 Phone 클래스를 수정하는 등 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3&lt;/td&gt;
          &lt;td&gt;Phone girl, boy;  cin &amp;gt;&amp;gt; girl &amp;gt;&amp;gt; boy;  cout &amp;lt;&amp;lt; girl &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; boy &amp;lt;&amp;lt; endl;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/139-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Thu, 02 Apr 2020 13:54:14 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/139-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Circle 클래스는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;class Circle {  string name;  int radius;  public:  Circle(int radius=1, string name=&amp;quot;&amp;quot;) {  this-&amp;gt;radius = radius; this-&amp;gt;name = name;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Circle 클래스의 객체를 입출력하는 다음 코드와 Execution Result를 참조하여 &amp;lt;&amp;lt;, &amp;gt;&amp;gt; 연산자를 작성하고 Circle 클래스를 수정하는 등 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3&lt;/td&gt;
          &lt;td&gt;Circle d, w;  cin &amp;gt;&amp;gt; d &amp;gt;&amp;gt; w; // 키보드 입력을 받아 객체 d와 w를 완성  cout &amp;lt;&amp;lt; d &amp;lt;&amp;lt; w &amp;lt;&amp;lt; endl; // 객체 d, w 출력&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/138-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Thu, 02 Apr 2020 11:58:57 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/138-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;0에서 127까지 ASCII 코드와 해당 문자를 다음과 같이 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;화면에 출력가능하지 않는 ASCII 코드는 &#39;.&#39;으로 출력하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/138/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cout으로 포맷 출력 응용 연습&lt;/p&gt;
&lt;p&gt;문자가 출력 가능한지 알기 위해 bool isprint(int c); 함수를 사용하면 됩니다.&lt;/p&gt;
&lt;p&gt;매개 변수 c는 문자 코드 값이고, &lt;cctype&gt; 헤더 파일을 include 해야합니다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41  42  43  44  45  46&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;cctype&gt;  #include &lt;iomanip&gt;  using namespace std;    void showDec(int d) { // 10진수 출력  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; dec &amp;lt;&amp;lt; d;  }    void showHexa(int h) { // 16진수 출력  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; hex &amp;lt;&amp;lt; h;  }    void showChar(int c) { // ASCII 출력  int i=0;  if( (i = isprint(c)) != 0) // 출력 가능한 문자인지 확인  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; (char)c;  else // 출력 불가능한 문자이면 &amp;quot;.&amp;quot; 출력  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;.&amp;quot;;  }    void print() {  for(int i=0; i&amp;lt;4; i++){  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;dec&amp;quot;;  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;hexa&amp;quot;;  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;char&amp;quot;;  }  cout &amp;lt;&amp;lt; endl;  for(int i=0; i&amp;lt;4; i++){  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;---&amp;quot;;  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;----&amp;quot;;  cout &amp;lt;&amp;lt; setw(10) &amp;lt;&amp;lt; &amp;quot;----&amp;quot;;  }  cout &amp;lt;&amp;lt; endl;  for(int i=0; i&amp;lt;128; i++){ // 127번 반복하여 dec, hexa, ASCII 출력  if(i%4==0 &amp;amp;&amp;amp; i!=0)  cout &amp;lt;&amp;lt; endl;  showDec(i);  showHexa(i);  showChar(i);  }  }  int main() {  cout.setf(ios::left); // 출력 포맷 왼쪽 정렬  print();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/137-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Fri, 27 Mar 2020 15:55:33 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/137-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같이 정수, 제곱, 제곱근의 값을 형식에 맞추어 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;필드의 간격은 총 15칸이고 제곱근의 유효 숫자는 총 3자리로 한다.&lt;/p&gt;
&lt;p&gt;빈칸은 모두 underline(_) 문자로 삽입한다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/137/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cout으로 포맷 출력 응용 연습&lt;/p&gt;
&lt;p&gt;제곱근을 구하려면 &lt;cmath&gt; 헤더 파일을 include 하고 sqrt(double x) 함수를 호출하면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;cmath&gt;  #include &lt;iomanip&gt;  using namespace std;    void showNumber(const double &amp;amp;num){  cout &amp;lt;&amp;lt; setw(15) &amp;lt;&amp;lt; setfill(&#39;_&#39;) &amp;lt;&amp;lt; num;  }    void showSqrt(const double &amp;amp;num){  cout &amp;lt;&amp;lt; setprecision(3) &amp;lt;&amp;lt; setw(15) &amp;lt;&amp;lt; setfill(&#39;_&#39;) &amp;lt;&amp;lt; sqrt(num) &amp;lt;&amp;lt; endl;  }    int main() {  cout.setf(ios::left);  cout &amp;lt;&amp;lt; setw(15) &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;  cout &amp;lt;&amp;lt; setw(15) &amp;lt;&amp;lt; &amp;quot;Square&amp;quot;;  cout &amp;lt;&amp;lt; setw(15) &amp;lt;&amp;lt; &amp;quot;Square Root&amp;quot; &amp;lt;&amp;lt; endl;  for(double i=0; i&amp;lt;=45; i+=5){  cout.precision(4);  showNumber(i); // Number 출력  showNumber(i*i); // Square 출력  showSqrt(i); // Square Root 출력  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/136-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Fri, 27 Mar 2020 15:42:20 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/136-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 프로그램은 예제 11-3의 코드이다. 아래 코드에서 char [] 대신 string을 이용하여 문자열을 다루도록 프로그램을 재작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;cstring&gt;  using namespace std;    int main() {  char cmd[80];  cout &amp;lt;&amp;lt; &amp;quot;cin.get(char*, int)로 문자열을 읽습니다.&amp;quot; &amp;lt;&amp;lt; endl;  while(true) {  cout &amp;lt;&amp;lt; &amp;quot;종료하려면 exit를 입력하세요 &amp;gt;&amp;gt; &amp;quot;;  cin.get(cmd, 80); // 79개까지의 문자 읽음  if(strcmp(cmd, &amp;quot;exit&amp;quot;) == 0 ) {  cout &amp;lt;&amp;lt; &amp;quot;프로그램을 종료합니다....&amp;quot;;  return 0;  }  else  cin.ignore(1); // 버퍼에 남아 있는 &lt;Enter&gt; 키 (&#39;\n&#39;) 제거  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/135-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Fri, 27 Mar 2020 15:21:26 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/135-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;한 줄에 &#39;영어문장;한글문자&#39; 형식으로 키 입력될 때, cin.ignore()를 이용하여 &#39;;&#39;이전에 입력된 문자열만 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;아래에서 ^Z(ctrl-z) 키는 입력 종료를 나타내는 키이며, cin.get()은 EOF를 리턴한다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/135/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin.get(), EOF, cin.ignore() 활용&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  int ch;  while( (ch = cin.get()) != EOF ) {  if(ch == &#39;;&#39;){  cout.put(&#39;\n&#39;);  cin.ignore(100, &#39;\n&#39;);  }  else  cout.put(ch);  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/134-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Fri, 27 Mar 2020 15:16:48 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/134-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;한 줄에 &#39;영어문장;한글문자&#39; 형식으로 키 입력될 때, cin.ignore()를 이용하여 &#39;;&#39; 이후에 입력된 문자열을 화면에 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;아래에서 ^Z(ctrl-z) 키는 입력 종료는 나타내는 키이며, cin.get()은 EOF를 리턴한다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/134/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin.get(), EOF, cin.ignore() 활용&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  int ch;  cin.ignore(100, &#39;;&#39;); // 영어 문장이 최대 99개의 문자로 입력된다고 가정한다.  while((ch=cin.get()) != EOF) {  cout.put(ch);  if(ch == &#39;\n&#39;)  cin.ignore(100, &#39;;&#39;); // 영어 문장이 최대 99개의 문자로 입력된다고 가정한다.  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/133-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Fri, 27 Mar 2020 15:03:49 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/133-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;istream&amp;amp; get(char&amp;amp; ch) 함수를 이용하여 한 라인을 읽고 빈칸(&#39; &#39;)이 몇 개인지 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/133/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin으로 키 입력 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  char ch;  int cnt;    while(true){  cin.get(ch); // 키를 ch에 읽어옴  if(cin.eof()) // EOF 문자 즉 ctrl-z 키가 입력된 경우, 읽기 종료  break;  if(ch == &#39;\n&#39;) // &lt;Enter&gt; 키가 입력된 경우 읽기 중단  break;  else if(ch == &#39; &#39;)  cnt++;  }  cout &amp;lt;&amp;lt; cnt;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;](&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.11 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/132-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Fri, 27 Mar 2020 14:58:42 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/132-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-11%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;int cin.get() 함수를 이용하여 키보드로부터 한 라인을 읽고 &#39;a&#39;가 몇 개인지 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/132/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin으로 키 입력 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  int a;  int cnt=0;  while( (a = cin.get() ) != EOF ){  if(a == &#39;a&#39;)  cnt++;  else if(a == &#39;\n&#39;)  break;  }  cout &amp;lt;&amp;lt; cnt;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 16 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/126-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-16%EB%B2%88/</link>
      <pubDate>Wed, 11 Mar 2020 17:04:39 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/126-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-16%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;vector&amp;lt;Shape*&amp;gt; v;를 이용하여 간단한 그래픽 편집기를 콘솔 바탕으로 만들어보자.&lt;/p&gt;
&lt;p&gt;생성된 도형 객체를 v에 삽입하고 관리하라. 9장 Exercise Problem 10번의 힌트를 참고하라.&lt;/p&gt;
&lt;p&gt;Shape과 Circle, Line, Rect 클래스는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/126/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/17&#34;&gt;2019/11/26 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 9장 10번&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[명품 C++ programming Exercise Problem 9장 10번&lt;/p&gt;
&lt;p&gt;Problem: 간단한 그래픽 편집기를 콘솔 바탕으로 만들어보자. 그래픽 편집기의 기능은 &amp;quot;삽입&amp;quot;, &amp;quot;삭제&amp;quot;, &amp;quot;모두보기&amp;quot;, &amp;quot;종료&amp;quot; 의 4가지이고, 실행 과정은 다음과 같다. Objective &amp;amp; Hints: 추상 클래스, 상속 종합 응용 S..&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 15 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/125-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-15%EB%B2%88/</link>
      <pubDate>Wed, 11 Mar 2020 15:11:10 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/125-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-15%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;vector를 이용하여 아래 Circle 클래스의 객체를 삽입하고 삭제하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;삭제 시에는 이름이 같은 모든 원을 삭제한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10&lt;/td&gt;
          &lt;td&gt;class Circle {  string name; // 이름  int radius; // 반지름  public:  Circle(int radius, string name) {  this-&amp;gt;radius = radius; this-&amp;gt;name = name;  }  double getArea() { return 3.14*radius*radius; }  string getName() { return name; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/125/img_1.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 14 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/124-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-14%EB%B2%88/</link>
      <pubDate>Wed, 11 Mar 2020 14:59:59 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/124-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-14%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;암호 관리 응용프로그램을 map을 이용하여 작성하라.&lt;/p&gt;
&lt;p&gt;실행 과정은 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/124/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;map 컨테이너에 삽입 및 조회 응용&lt;/p&gt;
&lt;p&gt;이름과 점수를 쌍으로 저장할 맵 컨테이너로 map&amp;lt;string, string&amp;gt;을 이용하면 됩니다.&lt;/p&gt;
&lt;p&gt;아래 링크에 있는 Exercise Problem 10장 13번을 참고하세요.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/123&#34;&gt;2020/03/11 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 10장 13번&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[명품 C++ programming Exercise Problem 10장 13번&lt;/p&gt;
&lt;p&gt;Problem: map 컨테이너를 이용하여 (이름, 성적)을 저장하고 이름으로 성적을 조회하는 점수 관리 프로그램을 만들어라. 이름은 빈칸 없이 입력하는 것을 원칙으로 한다. Execution Result: Objective &amp;amp; Hints: map 컨테이너..&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 13 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/123-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-13%EB%B2%88/</link>
      <pubDate>Wed, 11 Mar 2020 14:46:02 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/123-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-13%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;map 컨테이너를 이용하여 (이름, 성적)을 저장하고 이름으로 성적을 조회하는 점수 관리 프로그램을 만들어라.&lt;/p&gt;
&lt;p&gt;이름은 빈칸 없이 입력하는 것을 원칙으로 한다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/123/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;map 컨테이너 활용&lt;/p&gt;
&lt;p&gt;이름과 점수를 쌍으로 저장할 맵 컨테이너로 map&amp;lt;string, int&amp;gt;를 이용하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;string&gt;  #include&lt;map&gt;  using namespace std;    int main() {  map&amp;lt;string, int&amp;gt; Score; // map 컨테이너 생성. 키는 한글 이름, 값은 정수 점수    cout &amp;lt;&amp;lt; &amp;quot;***** 점수관리 프로그램 HIGH SCORE을 시작합니다 *****\n&amp;quot;;  while(true){  int num;  int score;  string name;  cout &amp;lt;&amp;lt; &amp;quot;입력:1, 조회:2, 종료:3 &amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; num;  switch (num){  case 1:  cout &amp;lt;&amp;lt; &amp;quot;이름과 점수&amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; name &amp;gt;&amp;gt; score;  Score.insert(make_pair(name, score)); // map에 저장  break;  case 2:  cout &amp;lt;&amp;lt; &amp;quot;이름 &amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; name;  if(Score.find(name) == Score.end()) // name &#39;키&#39;를 끝까지 찾았는데 없음  cout &amp;lt;&amp;lt; &amp;quot;없음&amp;quot; &amp;lt;&amp;lt; endl;  else  cout &amp;lt;&amp;lt; name &amp;lt;&amp;lt; &amp;quot;의 점수는 &amp;quot; &amp;lt;&amp;lt;Score[name] &amp;lt;&amp;lt; endl; // Score에서 name의 값을 찾아 출력  break;  case 3:  cout &amp;lt;&amp;lt; &amp;quot;프로그램을 종료합니다...\n&amp;quot;;  return 0;  default :  cout &amp;lt;&amp;lt; &amp;quot;제대로 입력해\n&amp;quot;;  break;  }  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/122-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Tue, 10 Mar 2020 20:28:33 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/122-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Open Challenge를 수정하여 사용자가 어휘를 삽입할 수 있도록 기능을 추가하라.&lt;/p&gt;
&lt;p&gt;Execution Result는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/122/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;vector 컨테이너의 종합 응용 연습&lt;/p&gt;
&lt;p&gt;랜덤 정수를 방생시키기 위해 다음 두 라인의 코드가 필요하며, &lt;ctime&gt;과 &lt;cstdlib&gt;를 include 해야 합니다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2&lt;/td&gt;
          &lt;td&gt;srand((unsigned)time(0)); // 시작할 때마다, 다른 랜덤수를 발생시키기 위한 seed 설정  int n = rand(); // 0에서 RAND_MAX(32767) 사이의 랜덤한 정수가 n에 발생&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100  101  102  103&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;vector&gt;  #include &lt;ctime&gt;  #include &lt;cstdlib&gt;  using namespace std;    class Word {  string engWord, korWord;  public:  Word(string engWord=0, string korWord=0){  this-&amp;gt;engWord = engWord;  this-&amp;gt;korWord = korWord;  }  void inputWord(string engWord, string korWord){  this-&amp;gt;engWord = engWord;  this-&amp;gt;korWord = korWord;  }  string getEngWord(){ return engWord; }  string getKorWord(){ return korWord; }  };    void inputWord(vector&lt;Word&gt; &amp;amp;v) {  cout &amp;lt;&amp;lt; &amp;quot;영어 단어에 exit을 입력하면 입력 끝\n&amp;quot;;  string engWord, korWord;    while(true){  cout &amp;lt;&amp;lt; &amp;quot;영어 &amp;gt;&amp;gt;&amp;quot;; cin &amp;gt;&amp;gt; engWord;  if(engWord == &amp;quot;exit&amp;quot;)  break;  cout &amp;lt;&amp;lt; &amp;quot;한글 &amp;gt;&amp;gt;&amp;quot;; cin &amp;gt;&amp;gt; korWord;  v.push_back(Word(engWord, korWord));  }  }    void gameStart(vector&lt;Word&gt; &amp;amp;v) {  srand((unsigned)time(0));  int num;    cout &amp;lt;&amp;lt; &amp;quot;영어 어휘 테스트를 시작합니다. 1~4 외 다른 입력시 종료.\n&amp;quot;;    while(true){  int randNum = rand()%v.size();  cout &amp;lt;&amp;lt; v.at(randNum).getEngWord() &amp;lt;&amp;lt; &amp;quot;?\n&amp;quot;;  string ex[4] = &amp;quot; &amp;quot;;  int tmp = rand()%4;  ex[tmp] = v.at(randNum).getKorWord();  for(int i=0; i&amp;lt;4; i++){  if(tmp == i)  continue;  while(true){ // 중복되는 숫자가 없게 처리  int numChosen = rand()%v.size();  if(ex[0]!=v.at(numChosen).getKorWord() &amp;amp;&amp;amp; ex[1]!=v.at(numChosen).getKorWord() &amp;amp;&amp;amp;  ex[2]!=v.at(numChosen).getKorWord() &amp;amp;&amp;amp; ex[3]!=v.at(numChosen).getKorWord()){  ex[i] = v.at(numChosen).getKorWord();  break;  }  }  }  for(int i=0; i&amp;lt;4; i++)  cout &amp;lt;&amp;lt; &amp;quot;(&amp;quot; &amp;lt;&amp;lt; i+1 &amp;lt;&amp;lt; &amp;quot;) &amp;quot; &amp;lt;&amp;lt; ex[i] &amp;lt;&amp;lt; &#39; &#39;;  cout &amp;lt;&amp;lt; &amp;quot;:&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; num; // 숫자만 입력  if(num == -1&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 11 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/121-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Tue, 10 Mar 2020 19:14:39 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/121-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;책의 년도, 책이름, 저자 이름을 담은 Book 클래스를 만들고, vector&lt;Book&gt; v;로 생성한 벡터를 이용하여 책을 입고하고, 저자와 년도로 검색하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/121/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;vector에 객체의 삽입, 검색 응용 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;vector&gt;  #include&lt;string&gt;  using namespace std;    class Book{  int year;  string b_name;  string p_name;  public:  void set(int year, string b_name, string p_name){  this-&amp;gt;year = year; this-&amp;gt;b_name = b_name; this-&amp;gt;p_name = p_name;  }  string getP(){  return p_name;  }  int getY(){  return year;  }  void show(){  cout &amp;lt;&amp;lt; year &amp;lt;&amp;lt; &amp;quot;년도, &amp;quot; &amp;lt;&amp;lt; b_name &amp;lt;&amp;lt; &amp;quot;, &amp;quot; &amp;lt;&amp;lt; p_name &amp;lt;&amp;lt; endl;  }  };    int main() {  vector&lt;Book&gt; v;  Book b;  int year;  string b_name;  string p_name;    cout &amp;lt;&amp;lt; &amp;quot;입고할 책을 입력하세요. 년도에 -1을 입력하면 입고를 종료합니다.\n&amp;quot;;    while(true){  cout &amp;lt;&amp;lt; &amp;quot;년도&amp;gt;&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; year;  if(year==-1)  break;  fflush(stdin);  cout &amp;lt;&amp;lt; &amp;quot;책이름&amp;gt;&amp;gt;&amp;quot;;  getline(cin, b_name);  cout &amp;lt;&amp;lt; &amp;quot;저자&amp;gt;&amp;gt;&amp;quot;;  getline(cin, p_name);    b.set(year, b_name, p_name);  v.push_back(b);  }    cout &amp;lt;&amp;lt; &amp;quot;총 입고된 책은 &amp;quot; &amp;lt;&amp;lt; v.size() &amp;lt;&amp;lt; &amp;quot;권 입니다.\n&amp;quot;;  cout &amp;lt;&amp;lt; &amp;quot;검색하고자 하는 저자 이름을 입력하세요&amp;gt;&amp;gt;&amp;quot;;  fflush(stdin);  getline(cin, p_name);  for(int i=0; i&amp;lt;v.size(); i++){  if(v[i].getP() == p_name)  v[i].show();  }  cout &amp;lt;&amp;lt; &amp;quot;검색하고자 하는 년도를 입력하세요&amp;gt;&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; year;  for(int i=0; i&amp;lt;v.size(); i++){  if(v[i].getY() == year)  v[i].show();  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/120-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Tue, 10 Mar 2020 18:07:00 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/120-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;나라의 수도 맞추기 게임에 vector를 활용해보자. 나라 이름(nation)과 수도(capital) 문자열로 구성된 Nation 클래스를 만들고, vector&lt;Nation&gt; v;로 생성한 벡터를 이용하여 나라 이름과 수도 이름을 삽입할 수도 있고 랜덤하게 퀴즈를 볼 수도 있다.&lt;/p&gt;
&lt;p&gt;프로그램 내에서 벡터에 Nation 객체를 여러 개 미리 삽입하여 퀴즈를 보도록 하라.&lt;/p&gt;
&lt;p&gt;실행 화면은 다음과 같으며, 저자는 9개 나라의 이름과 수도를 미리 프로그램에서 삽입하였다.&lt;/p&gt;
&lt;p&gt;문자열은 string 클래스를 이용하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/120/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;vector에 객체의 삽입, 검색 응용 연습&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/119-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Tue, 10 Mar 2020 17:50:23 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/119-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;STL의 vector 클래스를 이용하는 간단한 프로그램을 작성해보자. vector 객체를 생성하고, 키보드로부터 정수를 입력받을 때마다 정수를 벡터에 삽입하고 지금까지 입력된 수와 평균을 출력한느 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;0을 입력하면 프로그램이 종료된다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/119/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;vector 컨테이너 활용 연습&lt;/p&gt;
&lt;p&gt;정수만 다루는 벡터이므로 vector&lt;int&gt; v;를 이용하면 된다. iterator를 사용할 필요는 없다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;vector&gt;  using namespace std;    int main() {  vector&lt;int&gt; v;  double sum=0;  while(true){  int tmp;  cout &amp;lt;&amp;lt; &amp;quot;정수를 입력하세요(0을 입력하면 종료)&amp;gt;&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; tmp;  if(!tmp) break; //입력한 정수가 0이면 종료  v.push_back(tmp); // 입력한 정수가 0이 아니면 v에 삽입  for(int i=0; i&amp;lt;v.size(); i++) // vector v의 모든 원소 출력  cout &amp;lt;&amp;lt; v.at(i) &amp;lt;&amp;lt; &#39; &#39;;  cout &amp;lt;&amp;lt; endl;  sum += tmp;  cout &amp;lt;&amp;lt; &amp;quot;평균 = &amp;quot; &amp;lt;&amp;lt; sum/v.size() &amp;lt;&amp;lt; endl;  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/118-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 17:19:46 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/118-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 7을 푸는 다른 방법을 소개한다.&lt;/p&gt;
&lt;p&gt;bigger() 함수의 다음 라인에서 &amp;gt; 연산자 때문에&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;if(a &amp;gt; b) return a;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;T에 Circle과 같은 클래스 타입이 대입되면, 구체화가 실패하여 컴파일 오류가 발생한다.&lt;/p&gt;
&lt;p&gt;이 문제를 해결하기 위해 다음과 같은 추상 클래스 Comparable을 제안한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;class Comparable {  public:  virtual bool operator &amp;gt; (Comparable&amp;amp; op2) = 0; // 순수 가상 함수  virtual bool operator &amp;lt; (Comparable&amp;amp; op2) = 0; // 순수 가상 함수  virtual bool operator == (Comparable&amp;amp; op2) = 0; // 순수 가상 함수  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Circle 클래스가 Comparable을 상속받아 순수 가상 함수를 모두 구현하면, 앞의 bigger() 템플릿 함수를 사용하는데 아무 문제가 없다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/117-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 16:21:24 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/117-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 프로그램은 컴파일 오류가 발생한다. 소스의 어디에서 왜 컴파일 오류가 발생하는가?&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    class Circle {  int radius;  public:  Circle(int radius = 1) { this-&amp;gt;radius = radius; }  int getRadius() { return radius; }  };    template &lt;class T&gt;  T bigger(T a, T b) { // 두 개의 매개 변수를 비교하여 큰 값을 리턴  if (a &amp;gt; b) return a;  else return b;  }    int main() {  int a = 20, b = 50, c;  c = bigger(a, b);  cout &amp;lt;&amp;lt; &amp;quot;20과 50중 큰 값은 &amp;quot; &amp;lt;&amp;lt; c &amp;lt;&amp;lt; endl;  Circle waffle(10), pizza(20), y;  y = bigger(waffle, pizza);  cout &amp;lt;&amp;lt; &amp;quot;waffle과 pizza 중 큰 것의 반지름은 &amp;quot; &amp;lt;&amp;lt; y.getRadius() &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/116-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 16:07:40 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/116-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 함수는 매개 변수로 주어진 int 배열 src에서 배열 minus에 들어있는 같은 정수를 모두 삭제한 새로운 int 배열을 동적으로 할당받아 리턴한다.&lt;/p&gt;
&lt;p&gt;retSize는 remove() 함수의 Execution Result를 리턴하는 배열의 크기를 전달받는다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;int * remove(int src[], int sizeSrc, int minus[], int sizeMinus, int&amp;amp; resSize);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;템플릿을 이용하여 remove를 일반화하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/116/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;함수의 일반화에 대한 이해, 템플릿 함수 만들기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    template &lt;class T&gt;  T* remove(T src[], int sizeSrc, T minus[], int sizeMinus, int &amp;amp; retsize){  int j;  T* tmpArray = new T[sizeSrc];  for(int i=0; i&amp;lt;sizeSrc; i++){  for(j=0; j&amp;lt;sizeMinus; j++){  if(src[i] == minus[j]){ // src의 원소와 minus의 원소가 같으면 j의 값을 하나 내린 후 break  --j;  break;  }  }  if(j==sizeMinus){ // j==sizeMinus 라는건 src와 minus에 같은 원소가 없어 중간에 break 되지 않은 경우  tmpArray[retsize] = src[i]; // src[i]를 동적 할당 하여 생성한 tmpArray에 삽입  retsize++; // return 할 size의 값을 하나 올려줌  }  }  return tmpArray;  }    int main() {  int a[] = { 1,2,3,4,5,6,7,8,9,10 };  int b[] = { 5,6,7,8,9 };  int size=0;  int *p = remove(a, 10, b,5, size);  for (int i = 0; i &amp;lt; size; ++i)  cout &amp;lt;&amp;lt; p[i] &amp;lt;&amp;lt; &#39; &#39;;  cout &amp;lt;&amp;lt; endl;  delete[] p;  size = 0;  char c[] = { &#39;a&#39;,&#39;b&#39;,&#39;i&#39;,&#39;m&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,};  char d[] = { &#39;k&#39;,&#39;i&#39;,&#39;m&#39;,&#39;n&#39;,&#39;u&#39; };  char *q = remove(c, 7, d, 5,size);  for (int i = 0; i &amp;lt; size; ++i)  cout &amp;lt;&amp;lt; q[i] &amp;lt;&amp;lt; &#39; &#39;;  cout &amp;lt;&amp;lt; endl;  delete[] q;    }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/115-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:53:04 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/115-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 함수는 매개 변수로 주어진 두 개의 int 배열을 연결한 새로운 int 배열을 동적 할당받아 리턴한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;int * concat(int a[], int sizea, int b[], int sizeb);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;concat가 int 배열뿐 아니라 다른 타입의 배열도 처리할 수 있도록 일반화하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/115/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;함수의 힐반화에 대한 이해, 템플릿 함수 만들기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    template &lt;class T&gt;  T* concat(T a[], int sizea, T b[], int sizeb){  T *rArray = new T[sizea + sizeb]; // return 할 배열을 동적생성  for(int i=0; i&amp;lt;sizea+sizeb; i++){  if(i&amp;lt;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&amp;lt;aSize; i++)  cout &amp;lt;&amp;lt; a[i] &amp;lt;&amp;lt; &#39; &#39;;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/114-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:48:38 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/114-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;배열에서 원소를 검색하는 search() 함수를 템플릿으로 작성하라.&lt;/p&gt;
&lt;p&gt;search()의 첫 번째 매개 변수는 검색하고자 하는 원소 값이고, 두 번째 매개 변수는 배열이며, 세 번째 매개 변수는 배열의 개수이다.&lt;/p&gt;
&lt;p&gt;search() 함수가 검색에 성공하면 true를, 아니면 false를 리턴한다.&lt;/p&gt;
&lt;p&gt;search()의 호출 사례는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3&lt;/td&gt;
          &lt;td&gt;int x[] = {1, 10, 100, 5, 4};  if(search(100, x, 5)) cout &amp;lt;&amp;lt; &amp;quot;100이 배열 x에 포함되어 있다&amp;quot;; // 이 cout 실행  else cout &amp;lt;&amp;lt; &amp;quot;100이 배열 x에 포함되어 있지 않다&amp;quot;;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/113-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:45:01 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/113-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;배열의 원소를 반대 순서로 뒤집는 reverseArray() 함수를 템플릿으로 작성하라.&lt;/p&gt;
&lt;p&gt;reverseArray()의 첫 번째 매개 변수는 배열에 대한 포인터이며 두 번째 매개 변수는 배열의 개수이다.&lt;/p&gt;
&lt;p&gt;reverseArray()의 호출 사례는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4&lt;/td&gt;
          &lt;td&gt;int x[] = { 1, 10, 100, 5, 4};  reverseArray(x, 5);  for(int i=0; i&amp;lt;5; i++)  cout &amp;lt;&amp;lt; x[i] &amp;lt;&amp;lt; &#39; &#39;; // 4 5 100 10 1이 출력된다.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/113/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;템플릿 함수 만들기&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/112-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:40:47 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/112-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;두 개의 배열을 비교하여 같으면 true를, 아니면 false를 리턴하는 제네릭 함수 equalArrays()를 작성하라.&lt;/p&gt;
&lt;p&gt;또한 main() 함수를 작성하여 equalArrays()를 호출하는 몇 가지 사례를 보여라.&lt;/p&gt;
&lt;p&gt;equalArrays()를 호출하는 코드 사례는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;int x[] = {1, 10, 100, 5, 4};  int y[] = {1, 10, 100, 5, 4};  if(equalArray(x, y, 5))  cout &amp;lt;&amp;lt; &amp;quot;같다&amp;quot;; // 배열 x, y가 같으므로 &amp;quot;같다&amp;quot; 출력  else  cout &amp;lt;&amp;lt; &amp;quot;다르다&amp;quot;;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/111-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:33:52 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/111-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;배열을 받아 가장 큰 값을 리턴하는 제네릭 함수 biggest()를 작성하라.&lt;/p&gt;
&lt;p&gt;또한 main() 함수를 작성하여 biggest()를 호출하는 몇 가지 사례를 보여라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/111/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;템플릿 함수 만들기&lt;/p&gt;
&lt;p&gt;biggest()를 호출하는 코드 사례는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2&lt;/td&gt;
          &lt;td&gt;int x[] = {1, 10, 100, 5, 4};  cout &amp;lt;&amp;lt; biggest(x, 5) &amp;lt;&amp;lt; endl; // 5는 배열 x의 크기. 100이 출력된다.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    template &lt;class T&gt;  T biggest(T a[], T n){  T big = a[0]; // 배열 a의 첫번째 원소를 big에 삽입  for(T i=1; i&amp;lt;n; i++)  big = big &amp;lt; a[i] ? a[i] : big; // big보다 a[i]의 값이 더 크면 big에 a[i]의 값을 삽입  return big;  }    int main() {  int big = 0;  int x[] = {1, 10, 100, 5, 4};  cout &amp;lt;&amp;lt; biggest(x, 5) &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/110-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:13:20 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/110-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;비행기 예약 프로그램을 작성하라. 이 문제는 여러 개의 클래스와 객체들을 다루는 연습을 위한 것이다. 클래스 사이의 상속 관계는 없다.&lt;/p&gt;
&lt;p&gt;항공사 이름은 &#39;한성항공&#39;이고, 8개의 좌석을 가진 3대의 비행기로 서울 부산 간 운항 사업을 한다.&lt;/p&gt;
&lt;p&gt;각 비행기는 하루에 한 번만 운항하며 비행시간은 07시, 12시, 17시이다. 비행기 예약 프로그램은 다음의 기능을 가진다.&lt;/p&gt;
&lt;p&gt;● 예약 : 비행 시간, 사용자의 이름, 좌석 번호를 입력받아 예약한다.&lt;/p&gt;
&lt;p&gt;● 취소 : 비행 시간, 사용자의 이름, 좌석 번호를 입력받고 예약을 취소한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/109-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 14:18:19 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/109-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 그림과 같은 상속 구조를 갖는 클래스를 설계한다.&lt;/p&gt;
&lt;p&gt;모든 프린터는 모델명(model), 제조사(manufacturer), 인쇄 매수(printedCount), 인쇄 종이 잔량(availableCount)을 나타내는 정보와 print(int pages) 멤버 함수를 가지며, print()가 호출할 때마다 pages 매의 용지를 사용한다.&lt;/p&gt;
&lt;p&gt;잉크젯 프린터는 잉크 잔량(availableInk) 정보와 printInkJet(int pages) 멤버 함수를 추가적으로 가지며, 레이저 프린터는 토너 잔량(availableToner) 정보와 역시 printLaser(int pages) 멤버 함수를 추가적으로 가진다.&lt;/p&gt;
&lt;p&gt;각 클래스에 적절한 접근 지정으로 멤버 변수와 함수, 생성자, 소멸자를 작성하고, 다음과 같이 실행되도록 전체 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/108-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 14:04:17 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/108-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;아래와 같은 BaseMemory 클래스를 상속받는 ROM(Read Only Memory), RAM 클래스를 작성하라.&lt;/p&gt;
&lt;p&gt;BaseMemory에 필요한 코드를 수정 추가하여 적절히 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5&lt;/td&gt;
          &lt;td&gt;class BaseMemory{  char *mem;  protected:  BaseMemory(int size) { mem = new char [size]; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ROM은 읽기 전용 메모리이므로 작동 중에 값을 쓸 수가 없기 때문에, 공장에서 생산할 때 생산자가 요청한 데이터로 초기화 하는데 이 작업을 굽는다(burn)라고 한다. 그러므로 ROM은 반드시 생성자에서 burn 작업이 일어나야 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/107-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 13:43:11 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/107-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 5~6에 적용되는 BaseArray 클래스는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12&lt;/td&gt;
          &lt;td&gt;class BaseArray {  int capacity; // 배열의 크기  int *mem; // 정수 배열을 만들기 위한 메모리의 포인터  protected: // 생성자가 protected  BaseArray(int capacity=100){  this-&amp;gt;capacity = capacity; mem = new int [capacity];  }  ~BaseArray() { delete [] mem; }  void put(int index, int val) { mem[index] = val; }  int get(int index) { return mem[index]; }  int getCapacity() { return capacity; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Write a 스택으로 작동하는 MyStack class that inherits from the BaseArray class.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/106-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 13:36:05 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/106-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 5~6에 적용되는 BaseArray 클래스는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12&lt;/td&gt;
          &lt;td&gt;class BaseArray {  int capacity; // 배열의 크기  int *mem; // 정수 배열을 만들기 위한 메모리의 포인터  protected: // 생성자가 protected  BaseArray(int capacity=100){  this-&amp;gt;capacity = capacity; mem = new int [capacity];  }  ~BaseArray() { delete [] mem; }  void put(int index, int val) { mem[index] = val; }  int get(int index) { return mem[index]; }  int getCapacity() { return capacity; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;BaseArray를 상속받아 큐처럼 작동하는 MyQueue 클래스를 작성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/105-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 13:26:22 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/105-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 3~4에 적용되는 2차원 상의 한 점을 표현하는 Point 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Point {  int x,y;  public:  point(int x, int y) { this-&amp;gt;x = x; this-&amp;gt;y = y; }  int getX(){ return x; }  int getY(){ return y; }  protected:  void move(int x, int y) { this-&amp;gt;x = x; this-&amp;gt;y = y; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main() 함수가 실행되도록 Point 클래스를 상속받는 ColorPoint 클래스를 작성하고, 전체 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/104-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 13:18:25 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/104-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 3~4에 적용되는 2차원 상의 한 점을 표현하는 Point 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Point {  int x,y;  public:  point(int x, int y) { this-&amp;gt;x = x; this-&amp;gt;y = y; }  int getX(){ return x; }  int getY(){ return y; }  protected:  void move(int x, int y) { this-&amp;gt;x = x; this-&amp;gt;y = y; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main() 함수가 실행되도록 Point 클래스를 상속받은 ColorPoint 클래스를 작성하고, 전체 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/103-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 13:11:20 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/103-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 1~2에 적용되는 원을 추상화한 Circle 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;class Circle{  int radius;  public:  Circle(int radius=0) { this-&amp;gt;radius = radius; }  int getRadius() { return radius; }  void setRadius(int radius) { this-&amp;gt;radius = radius; }  double getArea() { return 3.14*radius*radius; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음과 같이 배열을 선언하여 다음 Execution Result가 나오도록 Circle을 상속받은 NamedCircle 클래스와 main() 함수 등 필요한 함수를 작성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.8 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/102-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 12:56:19 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/102-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-8%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 1~2에 적용되는 원을 추상화한 Circle 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;class Circle{  int radius;  public:  Circle(int radius=0) { this-&amp;gt;radius = radius; }  int getRadius() { return radius; }  void setRadius(int radius) { this-&amp;gt;radius = radius; }  double getArea() { return 3.14*radius*radius; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 코드가 실행되도록 Circle을 상속받은 NamedCircle 클래스를 작성하고 전체 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2&lt;/td&gt;
          &lt;td&gt;NamedCircle waffle(3, &amp;quot;waffle&amp;quot;); // 반지름이 3이고 이름이 waffle인 원  waffle.show();&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/101-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 20:09:44 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/101-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;정수 배열을 항상 증가 순으로 유지하는 SortedArray 클래스를 작성하려고 한다.&lt;/p&gt;
&lt;p&gt;아래의 main() 함수가 작동할 만큼만 SortedArray 클래스를 작성하고 +와 = 연산자도 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13&lt;/td&gt;
          &lt;td&gt;class SortedArray{  int size; // 현재 배열의 크기  int *p; // 정수 배열에 대한 포인터  void sort(); // 정수 배열을 오름차순으로 정렬  public:  SortedArray(); // p는 NULL로 size는 0으로 초기화  SortedArray(SortedArray&amp;amp; src); // 복사 생성자  SortedArray(int p[], int size); // 생성자. 정수 배열과 크기를 전달받음  ~SortedArray(); // 소멸자  SortedArray operator+ (SortedArray&amp;amp; op2); // 현재 배열에 op2 배열 추가  SortedArray&amp;amp; operator= (const SortedArray&amp;amp; op2); // 현재 배열에 op2 배열 복사  void show(); // 배열의 원소 출력  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12&lt;/td&gt;
          &lt;td&gt;int main() {  int n[] = { 2, 20, 6 };  int m[] = { 10, 7, 8, 30 };  SortedArray a(n, 3), b(m, 4), c;    c = a + b; // +, = 연산자 작성 필요  // + 연산자가 SortedArray 객체를 리턴하므로 복사 생성자 필요    a.show();  b.show();  c.show();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 11 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/100-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 19:57:15 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/100-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;스택 클래스 Stack을 만들고 푸시(push)용으로 &amp;lt;&amp;lt; 연산자를, 팝(pop)을 위해 &amp;gt;&amp;gt; 연산자를, 비어 있는 스택인지를 알기 위해 ! 연산자를 작성하라.&lt;/p&gt;
&lt;p&gt;다음 코드를 main()으로 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;Stack stack;  stack &amp;lt;&amp;lt; 3 &amp;lt;&amp;lt; 5 &amp;lt;&amp;lt; 10; // 3,5,10 순서대로 push  while(true){  if(!stack) break; //stack empty  int x;  stack &amp;gt;&amp;gt; x; //stack의 top에 있는 정수 pop  cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &#39; &#39;;  }  cout &amp;lt;&amp;lt; endl;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/099-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 19:52:18 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/099-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;통계를 내는 Statistics 클래스를 만들려고 한다.&lt;/p&gt;
&lt;p&gt;데이터는 Statistics 클래스 내부에 int 배열을 동적으로 할당받아 유지한다.&lt;/p&gt;
&lt;p&gt;다음과 같은 연산이 잘 이루어지도록 Statistics 클래스와 !, &amp;gt;&amp;gt;, &amp;lt;&amp;lt;, ~ 연산자 함수를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16&lt;/td&gt;
          &lt;td&gt;int main() {  Statistics stat;  if(!stat) cout &amp;lt;&amp;lt; &amp;quot;현재 통계 데이타가 없습니다.&amp;quot; &amp;lt;&amp;lt; endl;    int x[5];  cout &amp;lt;&amp;lt; &amp;quot;5 개의 정수를 입력하라&amp;gt;&amp;gt;&amp;quot;;  for(int i=0; i&amp;lt;5; i++) cin &amp;gt;&amp;gt; x[i]; // x[i]에 정수 입력    for(int i=0; i&amp;lt;5; i++) stat &amp;lt;&amp;lt; x[i]; // x[i] 값을 통계 객체에 삽입한다.  stat &amp;lt;&amp;lt; 100 &amp;lt;&amp;lt; 200; // 100, 200을 통계 객체에 삽입한다.  ~stat; // 통계 데이터를 모두 출력한다.    int avg;  stat &amp;gt;&amp;gt; avg; // 통계 객체로부터 평균을 받는다.  cout &amp;lt;&amp;lt; &amp;quot;avg=&amp;quot; &amp;lt;&amp;lt; avg &amp;lt;&amp;lt; endl;  // 평균을 출력한다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/098-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 18:43:43 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/098-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 8번의 Circle 객체에 대해 다음 연산이 가능하도록 연산자를 구현하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4&lt;/td&gt;
          &lt;td&gt;Circle a(5), b(4);  b = 1+a; // b의 반지름을 a의 반지름에 1을 더한 것으로 변경  a.show();  b.show();&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/97&#34;&gt;2020/03/06 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 7장 8번&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[명품 C++ programming Exercise Problem 7장 8번&lt;/p&gt;
&lt;p&gt;Problem: 원을 추상화한 Circle 클래스는 간단히 아래와 같다. 1 2 3 4 5 6 class Circle{ int radius; public: Circle(int radius=0) { this-&amp;gt;radius = radius; } void show() { cout &amp;lt;&amp;lt; &amp;quot;radius = &amp;quot; &amp;lt;&amp;lt; radius &amp;lt;&amp;lt;..&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/097-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 18:20:01 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/097-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;원을 추상화한 Circle 클래스는 간단히 아래와 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;class Circle{  int radius;  public:  Circle(int radius=0) { this-&amp;gt;radius = radius; }  void show() { cout &amp;lt;&amp;lt; &amp;quot;radius = &amp;quot; &amp;lt;&amp;lt; radius &amp;lt;&amp;lt; &amp;quot; 인 원&amp;quot; &amp;lt;&amp;lt; endl; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 연산이 가능하도록 연산자를 프렌드 함수로 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5&lt;/td&gt;
          &lt;td&gt;Circle a(5), b(4);  ++a; // 반지름을 1 증가 시킨다.  b = a++; // 반지름을 1 증가 시킨다.  a.show();  b.show();&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/096-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 18:10:47 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/096-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;2차원 행렬을 추상화한 Matrix 클래스를 활용하는 다음 코드가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;Matrix a(4,3,2,1), b;  int x[4], y[4]={1,2,3,4}; // 2차원 행렬의 4 개의 원소 값  a &amp;gt;&amp;gt; x; // a의 각 원소를 배열 x에 복사. x[]는 {4,3,2,1}  b &amp;lt;&amp;lt; y; // 배열 y의 원소 값을 b의 각 원소에 설정    for(int i=0; i&amp;lt;4; i++) cout &amp;lt;&amp;lt; x[i] &amp;lt;&amp;lt; &#39; &#39;; // x[] 출력  cout &amp;lt;&amp;lt; endl;  b.show();&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) &amp;lt;&amp;lt;, &amp;gt;&amp;gt; 연산자 함수를 Matrix의 멤버 함수로 구현하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/095-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 18:01:44 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/095-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;2차원 행렬을 추상화한 Matrix 클래스를 작성하고, show() 멤버 함수와 다음 연산이 가능하도록 연산자를 모두 구현하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;Matrix a(1,2,3,4), b(2,3,4,5), c;  c = a + b;  a += b;  a.show(); b.show(); c.show();  if(a==c)  cout &amp;lt;&amp;lt; &amp;quot;a and c are the same&amp;quot; &amp;lt;&amp;lt; endl;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) 연산자 함수를 Matrix의 멤버 함수로 구현하라.&lt;/p&gt;
&lt;p&gt;(2) 연산자 함수를 Matrix의 프렌드 함수로 구현하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/95/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/094-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 17:55:15 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/094-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 main()에서 Color 클래스는 3요소(빨강, 초록, 파랑)로 하나의 색을 나타내는 클래스이다(4장 Exercise Problem 1번 참고).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;연산자로 색을 더하고, == 연산자로 색을 비교하고자 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Execution Result를 참고하여 Color 클래스와 연산자, 그리고 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11&lt;/td&gt;
          &lt;td&gt;int main() {  Color red(255, 0, 0), blue(0, 0, 255), c;  c = red + blue;  c.show(); // 색 값 출력    Color fuchsia(255,0,255);  if(c == fuchsia)  cout &amp;lt;&amp;lt; &amp;quot;보라색 맞음&amp;quot;;  else  cout &amp;lt;&amp;lt; &amp;quot;보라색 아님&amp;quot;;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) +와 == 연산자를 Color 클래스의 멤버 함수로 구현하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/093-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 17:45:53 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/093-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1번 ~ 4번 문제까지 사용될 Book 클래스는 다음과 같습니다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Book{  string title;  int price, pages;  public:  Book(string title=&amp;quot;&amp;quot;, int price=0, int pages=0){  this-&amp;gt;title = title; this-&amp;gt;price = price; this-&amp;gt;pages = pages;  }  void show() {  cout &amp;lt;&amp;lt; title &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; price &amp;lt;&amp;lt; &amp;quot;원 &amp;quot; &amp;lt;&amp;lt; pages &amp;lt;&amp;lt; &amp;quot; 페이지&amp;quot; &amp;lt;&amp;lt; endl;  }  string getTitle() {  return title;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 연산을 통해 책의 제목을 사전 순으로 비교하고자 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/092-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 17:13:07 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/092-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1번 ~ 4번 문제까지 사용될 Book 클래스는 다음과 같습니다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Book{  string title;  int price, pages;  public:  Book(string title=&amp;quot;&amp;quot;, int price=0, int pages=0){  this-&amp;gt;title = title; this-&amp;gt;price = price; this-&amp;gt;pages = pages;  }  void show() {  cout &amp;lt;&amp;lt; title &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; price &amp;lt;&amp;lt; &amp;quot;원 &amp;quot; &amp;lt;&amp;lt; pages &amp;lt;&amp;lt; &amp;quot; 페이지&amp;quot; &amp;lt;&amp;lt; endl;  }  string getTitle() {  return title;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 연산을 통해 공짜 책인지를 판별하도록 ! 연산자를 작성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/091-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 17:02:25 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/091-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1번 ~ 4번 문제까지 사용될 Book 클래스는 다음과 같습니다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Book{  string title;  int price, pages;  public:  Book(string title=&amp;quot;&amp;quot;, int price=0, int pages=0){  this-&amp;gt;title = title; this-&amp;gt;price = price; this-&amp;gt;pages = pages;  }  void show() {  cout &amp;lt;&amp;lt; title &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; price &amp;lt;&amp;lt; &amp;quot;원 &amp;quot; &amp;lt;&amp;lt; pages &amp;lt;&amp;lt; &amp;quot; 페이지&amp;quot; &amp;lt;&amp;lt; endl;  }  string getTitle() {  return title;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Book 객체를 활용하는 사례이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.7 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/090-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 16:54:56 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/090-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-7%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1번 ~ 4번 문제까지 사용될 Book 클래스는 다음과 같습니다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Book{  string title;  int price, pages;  public:  Book(string title=&amp;quot;&amp;quot;, int price=0, int pages=0){  this-&amp;gt;title = title; this-&amp;gt;price = price; this-&amp;gt;pages = pages;  }  void show() {  cout &amp;lt;&amp;lt; title &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; price &amp;lt;&amp;lt; &amp;quot;원 &amp;quot; &amp;lt;&amp;lt; pages &amp;lt;&amp;lt; &amp;quot; 페이지&amp;quot; &amp;lt;&amp;lt; endl;  }  string getTitle() {  return title;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Book 객체에 대해 다음 연산을 하고자 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/089-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 16:36:17 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/089-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;게시판 프로그램을 작성해보자. 멀티태스킹의 경우 여러 사용자들이 게시판에 글을 올리기 때문에 게시판 객체는 전체 하나만 있어야 한다. 그러므로 게시판 객체의 멤버들은 static으로 작성한다.&lt;/p&gt;
&lt;p&gt;다음은 게시판 기능을 하는 Board 클래스를 활용하는 main() 코드이다. Execution Result를 참고하여 Board 클래스를 만들고 전체 프로그램을 완성하라.&lt;/p&gt;
&lt;p&gt;static 연습이 목적이기 때문에 게시판 기능을 글을 올리는 기능과 게시글을 모두 출력하는 기능으로 제한하고 main()도 단순화하였다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;int main() {  // Board myBoard; // 객체 생성은 컴파일 오류입니다.  Board::add(&amp;quot;중간고사는 감독 없는 자율 시험입니다.&amp;quot;);  Board::add(&amp;quot;코딩 라운지 많이 이용해 주세요.&amp;quot;);  Board::print();  Board::add(&amp;quot;진소린 학생이 경진대회 입상하였습니다. 축하해주세요&amp;quot;);  Board::print();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/088-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 16:11:59 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/088-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;디버깅에 필요한 정보를 저장하는 Trace 클래스를 만들어보자. 저자의 경험에 의하면, 멀티태스크 프로그램을 개발하거나 특별한 환경에서 작업할 때, Visual Studio의 디버거와 같은 소스 레벨 디버거를 사용하지 못하는 경우가 더러 있었고, 이때 실행 도중 정보를 저장하기 위해 Trace 클래스를 만들어 사용하였다.&lt;/p&gt;
&lt;p&gt;Trace 클래스를 활용하는 다음 프로그램과 결과를 참고하여 Trace 클래스를 작성하고 전체 프로그램을 완성하라.&lt;/p&gt;
&lt;p&gt;디버깅 정보는 100개로 제한한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18&lt;/td&gt;
          &lt;td&gt;void f() {  int a, b, c;  cout &amp;lt;&amp;lt; &amp;quot;두 개의 정수를 입력하세요&amp;gt;&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b;  Trace::put(&amp;quot;f()&amp;quot;, &amp;quot;정수를 입력 받았음&amp;quot;); // 디버깅 정보 저장  c = a + b;  Trace::put(&amp;quot;f()&amp;quot;, &amp;quot;합 계산&amp;quot;); // 디버깅 정보 저장  cout &amp;lt;&amp;lt; &amp;quot;합은 &amp;quot; &amp;lt;&amp;lt; c &amp;lt;&amp;lt; endl;  }    int main() {  Trace::put(&amp;quot;main()&amp;quot;, &amp;quot;프로그램을 시작합니다&amp;quot;); // 디버깅 정보 저장  f();  Trace::put(&amp;quot;main()&amp;quot;, &amp;quot;종료&amp;quot;);    // put()의 첫 번째 매개 변수는 태그이고  // 두 번째 매개 변수는 디버깅 정보이다.  Trace::print(&amp;quot;f()&amp;quot;); // &amp;quot;f()&amp;quot; 태그를 가진 디버깅 정보를 모두 출력한다.  Trace::print(); // 모든 디버깅 정보를 출력한다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/087-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 15:57:35 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/087-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같은 static 멤버를 가진 Random 클래스를 완성하라(Open Challenge 힌트 참고).&lt;/p&gt;
&lt;p&gt;그리고 Random 클래스를 이용하여 다음과 같이 랜덤한 값을 출력하는 main() 함수도 작성하라.&lt;/p&gt;
&lt;p&gt;main()에서 Random 클래스의 seed() 함수를 활용하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/87/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;static 멤버를 가진 클래스 만들기 및 사용 연습&lt;/p&gt;
&lt;p&gt;정수를 랜덤하게 생성하는 코드는 다음을 이용하면 됩니다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3&lt;/td&gt;
          &lt;td&gt;srand((unsigned)time(0)); // 항상 다른 랜덤수를 방생시키기 위한 seed 설정  int n = rand(); // 0에서 RAND_MAX(32767) 사이의 랜덤한 정수가 n에 발생  n = n % 100; // n은 0에서 99 사이의 정수&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/086-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 15:49:01 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/086-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;동일한 크기의 배열을 변환하는 다음 2개의 static 멤버 함수를 가진 ArrayUtiliry2 클래스를 만들고, 이 클래스를 이용하여 아래 결과와 같이 출력되도록 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;// 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&amp;amp; retSize);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/085-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 14:52:41 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/085-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;동일한 크기로 배열을 변환하는 다음 2개의 static 멤버 함수를 가진 ArrayUtility 클래스를 만들어라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4&lt;/td&gt;
          &lt;td&gt;static void intToDouble(int source[], double dest[], int size);  // int[]을 double[]로 변환  static void doubleToInt(double source[], int dest[], int size);  // double[]을 int[]로 변환&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ArrayUtility를 활용하는 main()은 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13&lt;/td&gt;
          &lt;td&gt;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[] -&amp;gt; y[]  for(int i=0; i&amp;lt;5; i++) cout &amp;lt;&amp;lt; y[i] &amp;lt;&amp;lt; &#39; &#39;;  cout &amp;lt;&amp;lt; endl;    ArrayUtility::doubleToInt(z, x, 5); // z[] -&amp;gt; x[]  for(int i=0; i&amp;lt;5; i++) cout &amp;lt;&amp;lt; x[i] &amp;lt;&amp;lt; &#39; &#39;;  cout &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/084-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Fri, 06 Mar 2020 14:38:18 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/084-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 클래스에 중복된 생성자를 디폴트 매개 변수를 가진 하나의 생성자로 작성하고 테스트 프로그램을 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20&lt;/td&gt;
          &lt;td&gt;class MyVector{  int *mem;  int size;  public:  MyVector();  MyVector(int n, int val);  ~MyVector() { delete [] mem; }  };    MyVector::MyVector() {  mem = new int [100];  size = 100;  for(int i=0; i&amp;lt;size; i++) mem[i] = 0;  }    MyVector::MyVector(int n, int val) {  mem = new int [n];  size = n;  for(int i=0; i&amp;lt;size; i++) mem[i] = val;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/083-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 16:54:35 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/083-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;함수 big()을 호출하는 경우는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;int main() {  int x = big(3, 5); // 3과 5중 큰 값은 5는 최대값 100보다 작으므로, 5 리턴  int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100리턴  int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50리턴  cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; z &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) big() 함수를 2개 중복하여 작성하고 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/082-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 16:44:47 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/082-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Person 클래스의 객체를 생성하는 main() 함수는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Person {  int id;  double weight;  string name;  public:  void show() { cout &amp;lt;&amp;lt; id &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; weight &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; name &amp;lt;&amp;lt; endl; }  };    int main() {  Person grace, ashley(2, &amp;quot;Ashley&amp;quot;), helen(3, &amp;quot;Helen&amp;quot;, 32.5);  grace.show();  ashley.show();  helen.show();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) 생성자를 중복 작성하고 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.6 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/081-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 16:27:22 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/081-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-6%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;add() 함수를 호출하는 main() 함수는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;int main() {  int a[] = {1,2,3,4,5};  int b[] = {6,7,8,9,10};  int c = add(a, 5); // 배열 a의 정수를 모두 더한 값 리턴  int d = add(a, 5, b); // 배열 a와 b의 정수를 모두 더한 값 리턴  cout &amp;lt;&amp;lt; c &amp;lt;&amp;lt; endl; // 15 출력  cout &amp;lt;&amp;lt; d &amp;lt;&amp;lt; endl; // 55 출력  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) add() 함수를 중복 작성하고 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/080-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 16:24:50 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/080-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 학과를 나타내는 Dept 클래스와 이를 활용하는 main()을 보여 준다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Dept {  int size; // scores 배열의 크기  int* scores; // 동적 할당 받을 정수 배열의 주소  public:  Dept(int size) { // 생성자  this-&amp;gt;size = size;  scores = new int[size];  }  Dept(const Dept&amp;amp; dept); // 복사 생성자  ~Dept(); // 소멸자  int getSize() { return size; }  void read(); // size 만큼 키보드에서 정수를 읽어 scores 배열에 저장  bool isOver60(int index); // index의 학생의 성적이 60보다 크면 true 리턴  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;int countPass(Dept dept) { // dept 학과에 60점 이상으로 통과하는 학생의 수 리턴  int count = 0;  for (int i = 0; i &amp;lt; 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 &amp;lt;&amp;lt; &amp;quot;60점 이상은 &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;명&amp;quot;;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) main()의 Execution Result가 다음과 같이 되도록 Dept 클래스에 멤버들을 모두 구현하고, 전체 프로그램을 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 11 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/079-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 16:00:14 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/079-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;책의 이름과 가격을 저장하는 다음 Book 클래스에 대해 물음에 답하여라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Book {  char *title; // 제목 문자열  int price; // 가격  public:  Book(const char* title, int price);  ~Book();  void set(char* title, int price);  void show() { cout &amp;lt;&amp;lt; title &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; price &amp;lt;&amp;lt; &amp;quot;원&amp;quot; &amp;lt;&amp;lt; endl; }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(1) Book 클래스의 생성자, 소멸자, set() 함수를 작성하라. set() 함수는 멤버 변수 title에 할당된 메모리가 있으면 먼저 반환한다. 그러고 나서 새로운 메모리를 할당받고 이곳에 매개 변수로 전달받은 책이름을 저장한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/078-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 15:40:57 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/078-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;참조를 리턴하는 코드를 작성해보자. 다음 코드와  Execution Result를 참고하여 append() 함수를 작성하고 전체 프로그램을 완성하라.&lt;/p&gt;
&lt;p&gt;append()는 Buffer 객체에 문자열을 추가하고 Buffer 객체에 대한 참조를 반환하는 함수이다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class Buffer{  string text;  public:  Buffer(string text) { this-&amp;gt;text = text; }  void add(string next) { text += next; } // text에 next 문자열 덧붙이기  void print() { cout &amp;lt;&amp;lt; text &amp;lt;&amp;lt; endl; }  };    int main() {  Buffer buf(&amp;quot;Hello&amp;quot;);  Buffer&amp;amp; temp = append(buf, &amp;quot;Guys&amp;quot;); // buf의 문자열에 &amp;quot;Guys&amp;quot; 덧붙임  temp.print(); // &amp;quot;HelloGuys&amp;quot; 출력  buf.print(); // &amp;quot;HelloGuys&amp;quot; 출력  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/077-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 15:32:46 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/077-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;클래스 Accumulator는 add() 함수를 통해 계속 값을 누적하는 클래스로서, 다음과 같이 선언된다.&lt;/p&gt;
&lt;p&gt;Accumulator 클래스를 구현하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7&lt;/td&gt;
          &lt;td&gt;class Accumulator{  int value;  public:  Accumulator(int value); // 매개 변수 value로 멤버 value를 초기화한다.  Accumulator&amp;amp; add(int n); // value에 n을 더해 값을 누적한다.  int get(); // 누적된 값 value를 리턴한다.  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Accumulator는 다음과 같이 main() 함수에 의해 활용된다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5&lt;/td&gt;
          &lt;td&gt;int main() {  Accumulator acc(10);  acc.add(5).add(6).add(7); // acc의 value 멤버가 28이 된다.  cout &amp;lt;&amp;lt; acc.get(); // 28 출력  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/076-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 15:19:47 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/076-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 7번의 MyIntStack을 수정하여 다음과 같이 선언하였다.&lt;/p&gt;
&lt;p&gt;스택에 저장할 수 있는 정수의 최대 개수는 생성자에서 주어지고 size 멤버에 유지한다.&lt;/p&gt;
&lt;p&gt;MyIntStack 클래스를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;class MyIntStack{  int *p; // 스택 메모리로 사용할 포인터  int size; // 스택의 최대 크기  int tos; // 스택의 탑을 가리키는 인덱스  public:  MyIntStack();  MyIntStack(int size);  MyIntStack(const MyIntStack&amp;amp; s); // 복사 생성자  ~MyIntStack();  bool push(int n); // 정수 n을 스택에 푸시한다.  // 스택이 꽉 차 있으면 false를, 아니면 true 리턴  bool pop(int &amp;amp;n); // 스택의 탑에 있는 값을 n에 팝한다.  // 만일 스택이 비어 있으면 false를, 아니면 true 리턴  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;MyIntStack 클래스를 활용하는 코드와 Execution Result는 다음과 같다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/074-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 14:59:03 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/074-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;find() 함수의 원형은 다음과 같다. 문자열 a에서 문자 c를 찾아, 문자 c가 있는 공간에 대한 참조를 리턴한다.&lt;/p&gt;
&lt;p&gt;만일 문자 c를 찾을 수 없다면 success 참조 매개 변수에 false를 설정한다.&lt;/p&gt;
&lt;p&gt;물론 찾게 되면 success에 true를 설정한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;char&amp;amp; find(char a[], char c, bool&amp;amp; success);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main()이 잘 실행되도록 find()를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11&lt;/td&gt;
          &lt;td&gt;int main() {  char s[] = &amp;quot;Mike&amp;quot;;  bool b = false;  char&amp;amp; loc = find(s, &#39;M&#39;, b);  if(b == false) {  cout &amp;lt;&amp;lt; &amp;quot;M을 발견할 수 없다&amp;quot; &amp;lt;&amp;lt; endl;  return 0;  }  loc = &#39;m&#39;; // &#39;M&#39; 위치에 &#39;m&#39; 기록  cout &amp;lt;&amp;lt; s &amp;lt;&amp;lt; endl; // &amp;quot;mike&amp;quot;가 출력됨  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/073-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 14:49:33 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/073-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 Circle 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;class Circle{  int radius;  public:  Circle(int r) {radius =r;}  int getRadius() {return radius;}  void setRadius(int r) {radius = r;}  void show() {cout &amp;lt;&amp;lt; &amp;quot;반지름이 &amp;quot; &amp;lt;&amp;lt; radius &amp;lt;&amp;lt; &amp;quot;인 원&amp;quot; &amp;lt;&amp;lt; endl;}  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Circle 객체 b를 a에 더하여 a를 키우고자 다음 함수를 작성하였다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4&lt;/td&gt;
          &lt;td&gt;void increaseBy(Circle a, Circle b) {  int r = a.getRadius() + b.getRadius();  a.setRadius(r);  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 코드를 실행하면 increaseBy() 함수는 목적대로 실행되는가?&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/072-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 14:39:43 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/072-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;아래와 같이 원형이 주어진 bigger()를 작성하고 사용자로부터 2개의 정수를 입력받아 큰 값을 출력하는 main()을 작성하라.&lt;/p&gt;
&lt;p&gt;bigger()는 인자로 주어진 a, b가 같으면 true, 아니면 false를 리턴하고 큰 수는 big에 전달한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;bool bigger(int a, int b, int&amp;amp; big);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/72/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;참조에 의한 호출 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    bool bigger(int a, int b, int&amp;amp; big){  if(a==b)  return true;  else {  if(a&amp;gt;b)  big = a;  else  big = b;  return false;  }  }    int main() {  int a, b, big;  cout &amp;lt;&amp;lt; &amp;quot;두개의 정수를 입력하세요&amp;gt;&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b;  if(!bigger(a, b, big))  cout &amp;lt;&amp;lt; &amp;quot;큰 수는 : &amp;quot; &amp;lt;&amp;lt; big;  else  cout &amp;lt;&amp;lt; &amp;quot;두 정수가 같습니다.&amp;quot;;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/071-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 14:30:18 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/071-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같이 작동하도록 combine() 함수를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;int main() {  string text1(&amp;quot;I love you&amp;quot;), text2(&amp;quot;very much&amp;quot;);  string text3; // 비어있는 문자열  combine(text1, text2, text3); // text1과 &amp;quot; &amp;quot;, 그리고 text2를 덧붙여 text3 만들기  cout &amp;lt;&amp;lt; text3; // &amp;quot;I love you very much&amp;quot; 출력  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/71/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;string 클래스와 참조 사용 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;string&gt;  using namespace std;    void combine(string t1, string t2, string &amp;amp;t3){  t3 = t1 + &amp;quot; &amp;quot; + t2;  }    int main() {  string text1(&amp;quot;I love you&amp;quot;), text2(&amp;quot;very much&amp;quot;);  string text3; // 비어있는 문자열  combine(text1, text2, text3); // text1과 &amp;quot; &amp;quot;, 그리고 text2를 덧붙여 text3 만들기  cout &amp;lt;&amp;lt; text3; // &amp;quot;I love you very much&amp;quot; 출력  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/070-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 14:23:09 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/070-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 main() 함수와 Execution Result를 참고하여 half() 함수를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5&lt;/td&gt;
          &lt;td&gt;int main() {  double n = 20;  half(n); // n의 반값을 구해 n을 바꾼다.  cout &amp;lt;&amp;lt; n; // 10이 출력된다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/70/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;참조 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    half(double &amp;amp;num){ // 참조에 의한 호출  num /= 2; // num으로 넘어온 본래의 값이 바뀜  }    int main() {  double n = 20;  half(n); // n의 반값을 구해 n을 바꾼다.  cout &amp;lt;&amp;lt; n; // 10이 출력된다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.5 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/069-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Thu, 05 Mar 2020 14:16:37 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/069-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-5%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;두 개의 Circle 객체를 교환하는 swap() 함수를 &#39;참조에 의한 호출&#39;이 되도록 작성하고 호출하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;참조에 의한 호출 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/69/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    class Circle {  int num;  public:  Circle();  Circle(int num) {this-&amp;gt;num = num;}  void setNum(int num) {this-&amp;gt;num = num;}  int getNum() {return num;}  };    void swap(Circle &amp;amp;a, Circle &amp;amp;b) {  int swap;  swap = a.getNum();  a.setNum(b.getNum());  b.setNum(swap);  }    int main() {  Circle a(5), b(10);  cout &amp;lt;&amp;lt; a.getNum() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; b.getNum() &amp;lt;&amp;lt; endl;  swap(a,b);  cout &amp;lt;&amp;lt; a.getNum() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; b.getNum();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 14 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/068-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-14%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 17:50:03 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/068-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-14%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;겜블링 게임을 만들어보자. 두 사람이 게임을 진행하며, 선수의 이름을 초기에 입력 받는다.&lt;/p&gt;
&lt;p&gt;선수가 번갈아 자신의 차례에서 &lt;Enter&gt; 키를 치면 랜덤한 3개의 수가 생성되고 모두 동일한 수가 나오면 게임에서 이기게 된다.&lt;/p&gt;
&lt;p&gt;숫자의 범위가 너무 크면 3개의 숫자가 일치할 가능성이 낮아 숫자의 범위를 0~2로 제한한다.&lt;/p&gt;
&lt;p&gt;랜덤 정수 생성은 문제 5번의 힌트를 참고하라.&lt;/p&gt;
&lt;p&gt;선수는 Player 클래스로 작성하고, 2명의 선수는 배열로 구성하라. 그리고 게임은 GamblingGame 클래스로 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/59&#34;&gt;2020/03/04 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 4장 5번&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 13 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/067-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-13%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 17:45:19 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/067-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-13%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;영문자로 구성된 텍스트에 대해 각 알파벳에 해당하는 문자가 몇 개인지 출력하는 히스토그램 클래스 Histogram을 만들어보자.&lt;/p&gt;
&lt;p&gt;대문자는 모두 소문자로 변환하여 처리한다.&lt;/p&gt;
&lt;p&gt;Histogram 클래스를 활용하는 사례와 Execution Result는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5&lt;/td&gt;
          &lt;td&gt;Histogram elvisHisto(&amp;quot;Wise men say, only fools rush in But I can&#39;t help, &amp;quot;);  elvisHisto.put(&amp;quot;falling in love with you&amp;quot;);  elvisHisto.putc(&#39;-&#39;);  elvisHisto.put(&amp;quot;Elvis Presley&amp;quot;);  elvisHisto.print();&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/67/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;클래스 만들기 종합 응용&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;string&gt;  using namespace std;    class Histogram {  string sent;  public:  Histogram(string sent);  void put(string sent);  void putc(char c);  void print();  };    Histogram::Histogram(string text){  sent = text;  cout &amp;lt;&amp;lt; sent &amp;lt;&amp;lt; endl;  }  void Histogram::put(string text){  sent += text;  cout &amp;lt;&amp;lt; text;  }  void Histogram::putc(char c){  sent += c;  cout &amp;lt;&amp;lt; c;  }  void Histogram::print(){  int alpha[26] = { 0 };  int num = 0;  for (int i = 0; i &amp;lt; sent.length(); i++) {  if(isalpha(sent[i])){  char c = tolower(sent[i]);  alpha[c - &#39;a&#39;]++;  num++;  }  }  cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;  cout &amp;lt;&amp;lt; &amp;quot;총 알파벳 수 &amp;quot; &amp;lt;&amp;lt; num;  cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;  for (int i = 0; i &amp;lt; 26; ++i) {  char c = &#39;a&#39; + i;  cout &amp;lt;&amp;lt; c &amp;lt;&amp;lt; &amp;quot; (&amp;quot; &amp;lt;&amp;lt; alpha[i] &amp;lt;&amp;lt; &amp;quot;)\t: &amp;quot;;  for (int j = 0; j &amp;lt; alpha[i]; ++j) {  cout &amp;lt;&amp;lt; &amp;quot;*&amp;quot;;  }  cout &amp;lt;&amp;lt; endl;  }  }    int main() {  Histogram elvisHisto(&amp;quot;Wise men say, only fools rush in But I can&#39;t help, &amp;quot;);  elvisHisto.put(&amp;quot;falling in love with you&amp;quot;);  elvisHisto.putc(&#39;-&#39;);  elvisHisto.put(&amp;quot;Elvis Presley&amp;quot;);  elvisHisto.print();  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/066-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 17:34:53 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/066-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 이름과 반지름을 속성으로 가진 Circle 클래스와 이들을 배열로 관리하는 CircleManager 클래스이다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8&lt;/td&gt;
          &lt;td&gt;class Circle{  int radius; // 원의 반지름 값  string name; // 원의 이름  public:  void setCircle(string name, int radius); // 이름과 반지름 설정  double getArea();  string getName();  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class CircleManager {  Circle *p; // Circle 배열에 대한 포인터  int size; // 배열의 크기  public:  CircleManager(int size); // size 크기의 배열을 동적 생성. 사용자로부터 입력 완료  ~CircleManager();  void searchByName(); // 사용자로부터 원의 이름을 입력받아 면적 출력  void searchByArea(); // 사용자로부터 면적을 입력받아 면적보다 큰 원의 이름 출력  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;키보드에서 원의 개수를 입력받고, 그 개수만큼 원의 이름과 반지름을 입력받고, 다음과 같이 실행되도록 main() 함수를 작성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 11 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/065-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 17:18:54 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/065-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 커피자판기로 작동하는 프로그램을 만들기 위해 필요한 두 클래스이다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19&lt;/td&gt;
          &lt;td&gt;class CoffeeVendingMachine {    // 커피자판기를 표현하는 클래스  Container tong[3];          // tong[0]는 커피, tong[1]은 물, tong[2]는 설탕통을 나타냄  void fill();                // 3개의 통을 모두 10으로 채움  void selectEspresso();      // 에스프레소를 선택한 경우, 커피 1, 물 1 소모  void selectAmericano();     // 아메리카노를 선택한 경우, 커피 1, 물 2 소모  void selectSugarCoffee();   // 설탕커피를 선택한 경우, 커피 1, 물 2, 설탕 1 소모  void show();               // 현재 커피, 물, 설탕의 잔량 출력  public:  void run();  // 커피 자판기 작동  };    class Container {               // 통 하나를 나타내는 클래스  int size;                   // 현재 저장 량, 최대 저장량은 10  public:  Container() {size = 10;}  void fill();                // 최대량(10)으로 채우기  void consume();             // 1 만큼 소모하기  int getSize();              // 현재 크기 리턴  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음과 같이 실행되도록 main() 함수와 CoffeeVendingMachine, Container를 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/064-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 17:03:15 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/064-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음에서 Person은 사람을, Family는 가족을 추상화한 클래스로서 완성되지 않은 클래스이다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15&lt;/td&gt;
          &lt;td&gt;class Person {  string name;  public:  Person(string name) { this-&amp;gt;name = name;}  string getName() { return name;}  };    class Family {  Person *p; // Person 배열 포인터  int size; // Person 배열의 크기. 가족 구성원 수  public:  Family(string name, int size); // size 개수만큼 Person 배열 동적 생성  void show(); // 모든 가족 구성원 출력  ~Family();  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main()이 작동하도록 Person과 Family 클래스에 필요한 멤버들을 추가하고 코드를 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/063-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 16:48:36 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/063-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같은 Person 클래스가 있다.&lt;/p&gt;
&lt;p&gt;Person 클래스와 main() 함수를 작성하여, 3개의 Person 객체를 가지는 배열을 선언하고, 다음과 같이 키보드에서 이름과 전화번호를 입력받아 출력하고 검색하는 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Person{  string name;  string tel;  public:  Person();  string getName() { return name; }  string getTel() { return tel; }  void set(string name, string tel);  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;객체 배열과 string 응용 연습&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/062-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 16:23:04 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/062-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Exercise Problem 7의 문제를 수정해보자. 사용자로부터 다음과 같이 원의 개수를 입력받고, 원의 개수만큼 반지름을 입력받는 방식으로 수정하라.&lt;/p&gt;
&lt;p&gt;원의 개수에 따라 동적으로 배열을 할당받아야 한다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/61&#34;&gt;2020/03/04 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 4장 7번&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[명품 C++ programming Exercise Problem 4장 7번&lt;/p&gt;
&lt;p&gt;Problem: 다음과 같이 원을 추상화한 Circle 클래스가 있다. Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프..&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/061-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 16:13:47 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/061-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같이 원을 추상화한 Circle 클래스가 있다.&lt;/p&gt;
&lt;p&gt;Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프로그램을 완성하라.&lt;/p&gt;
&lt;p&gt;Circle 클래스도 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;class Circle {  int radius; // 원의 반지름 값  public:  void setRadius(int radius); // 반지름을 설정한다.  double getArea(); // 면적을 리턴한다.  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;객체 배열 다루기 연습&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/060-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 16:03:03 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/060-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;string 클래스를 이용하여 사용자가 입력한 영문 한 줄을 문자열로 입력받고 거꾸로 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;string 클래스로 문자열 다루기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/60/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;string&gt;  using namespace std;    int main() {  string str;  cout &amp;lt;&amp;lt; &amp;quot;아래 한 줄을 입력하세요.(exit를 입력하면 종료합니다)&amp;quot;;    while(true){  cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;&amp;gt;&amp;gt;&amp;quot;;  getline(cin,str);  if(str == &amp;quot;exit&amp;quot;)  break;  for(int i = str.length()-1; i&amp;gt;=0; i--)  cout &amp;lt;&amp;lt; str[i];  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/059-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 15:56:03 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/059-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;string 클래스를 이용하여 사용자가 입력한 영문 한 줄을 입력받고 글자 하나만 랜덤하게 수정하여 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;string 클래스로 문자열 다루기&lt;/p&gt;
&lt;p&gt;랜덤 정수를 발생시키기 위해 다음 두 라인의 코드가 필요하며, &lt;cstdlib&gt;와 &lt;ctime&gt; 헤더 파일을 include 해야 한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2&lt;/td&gt;
          &lt;td&gt;srand((unsinged)time(0)); // 시작할 때마다, 다른 랜덤수를 발생시키기 위한 seed 설정  int n = rand(); // 0에서 RAND_MAX(32767) 사이의 랜덤한 정수 발생&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/59/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;string&gt;  #include &lt;cstdlib&gt;  #include &lt;ctime&gt;  using namespace std;    int main() {  string sent;  int n;  cout &amp;lt;&amp;lt; &amp;quot;아래 한 줄을 입력하세요.(exit를 입력하면 종료합니다)&amp;quot; ;  while(true){  srand((unsigned)time(0));  cout &amp;lt;&amp;lt; &amp;quot;\n&amp;gt;&amp;gt;&amp;quot;;  getline(cin,sent);  if(sent == &amp;quot;exit&amp;quot;) break;  int length = sent.length();  while(true){  n = rand()%length;  if(sent[n]!=&#39; &#39;)  break;  }  int a = rand()%25+95; // 임의의 문자 하나 선택  sent[n] = (char)a;  cout &amp;lt;&amp;lt; sent;  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/058-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 15:42:39 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/058-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같은 Sample 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12&lt;/td&gt;
          &lt;td&gt;class Sample{  int *p;  int size;  public:  Sample(int n) {    // 생성자  size = n; p = new int [n]; // n개 정수 배열의 동적 생성  }  void read(); // 동적 할당받은 정수 배열 p에 사용자로부터 정수를 입력 받음  void write(); // 정수 배열을 화면에 출력  int big(); // 정수 배열에서 가장 큰 수 리턴  ~Sample(); // 소멸자  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main() 함수가 실행되도록 Sample 클래스를 완성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/057-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 15:32:28 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/057-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;string 클래스를 이용하여 빈칸을 포함하는 문자열을 입력받고 문자열에서 &#39;a&#39;가 몇개 있는지 출력하는 프로그램을 작성해보자.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;getline(), string 클래스 활용&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/57/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;(1) 문자열에서 &#39;a&#39;를 찾기 위해 string 클래스의 멤버 at()나 []를 이용하여 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;string&gt;  using namespace std;    int main() {  string str;  cout &amp;lt;&amp;lt; &amp;quot;문자열 입력&amp;gt;&amp;gt;&amp;quot;;  getline(cin,str);  int length = str.length();  int num = 0;  for(int i=0; i&amp;lt;length; i++){  if(str[i] == &#39;a&#39;) num++;  }  cout &amp;lt;&amp;lt; &amp;quot;문자 a는 &amp;quot; &amp;lt;&amp;lt; num &amp;lt;&amp;lt; &amp;quot;개 있습니다.&amp;quot; ;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(2) 문자열에서 &#39;a&#39;를 찾기 위해 string 클래스의 find() 멤버 함수를 이용하여 작성하라. text.find(&#39;a&#39;, index);는 text 문자열의 index 위치부터 &#39;a&#39;를 찾아 문자열 내 인덱스를 리턴한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/056-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 15:17:39 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/056-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;정수 공간 5개를 배열로 동적 할당받고, 정수를 5개 입력받아 평균을 구하고 출력한 뒤 배열을 소멸시키도록 main() 함수를 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;배열의 동적 할당 및 반환&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/56/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    int main() {  int *p = new int[5];  double sum = 0;  cout &amp;lt;&amp;lt; &amp;quot;정수 5개 입력&amp;gt;&amp;gt;&amp;quot;;  for(int i=0; i&amp;lt;5; i++) {  cin &amp;gt;&amp;gt; p[i];  sum += p[i];  }  cout &amp;lt;&amp;lt; &amp;quot;평균 &amp;quot; &amp;lt;&amp;lt; sum/5;  delete [] p;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.4 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/055-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Wed, 04 Mar 2020 15:05:27 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/055-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-4%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음은 색의 3요소인 red, green, blue로 색을 추상화한 Color 클래스를 선언하고 활용하는 코드이다. 빈칸을 채워라.&lt;/p&gt;
&lt;p&gt;red, green, blue는 0~255의 값만 가진다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    class Color {  int red, green, blue;  public:  Color() {red = green = blue = 0;}  Color(int r, int g, int b) {red = r; green = g; blue = b;}  void setColor(int r, int g, int b) {red = r; green = g; blue = b;}  void show() {cout &amp;lt;&amp;lt; red &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; green &amp;lt;&amp;lt; &#39; &#39; &amp;lt;&amp;lt; blue &amp;lt;&amp;lt; endl;}  };    int main() {  Color screenColor(255,0,0); // 빨간색의 screenColor 객체 생성  Color *p;     // Color 타입의 포인터 변수 p 선언  ＿＿＿＿＿    // (1) p가 screenColor의 주소를 가지도록 코드 작성  ＿＿＿＿＿    // (2) p와 show()를 이용하여 screenColor 색 출력  ＿＿＿＿＿    // (3) Color의 일차원 배열 colors 선언. 원소는 3개  ＿＿＿＿＿    // (4) p가 colors 배열을 가리키도록 코드 작성    // (5) p와 setColor()를 이용하여 colors[0], colors[1], colors[2]가  // 각각 빨강, 초록, 파랑색을 가지도록 코드 작성  ＿＿＿＿＿  ＿＿＿＿＿  ＿＿＿＿＿    // (6) p와 show()를 이용하여 colors 배열의 모든 객체의 색 출력. for 문 이용  ＿＿＿＿＿  ＿＿＿＿＿  ＿＿＿＿＿  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/054-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 19:03:06 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/054-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;컴퓨터의 주기억장치를 모델링하는 클래스의 Ram을 구현하려고 한다.&lt;/p&gt;
&lt;p&gt;Ram 클래스는 데이터가 기록될 메모리 공간과 크기 정보를 가지고, 주어진 주소에 데이터를 기록하고(write), 주어진 주소로부터 데이터를 읽어 온다(read).&lt;/p&gt;
&lt;p&gt;Ram 클래스는 다음과 같이 선언된다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Ram {  char mem[100 * 1024]; // 100KB 메모리. 한 번지는 한 바이트이므로 char 타입 사용  int size;  public:  Ram(); // mem 배열을 0으로 초기화하고 size를 100*1024로 초기화  ~Ram(); // &amp;quot;메모리 제거됨&amp;quot; 문자열 출력  char read(int address);    // address 주소의 메모리 바이트 리턴  void write(int address, char value); // address 주소에 한 바이트로 value 저장  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main() 함수는 100 번지에 20을 저장하고, 101 번지에 30을 저장한 후, 100 번지와 101 번지의 값을 읽고 더하여 102 번지에 저장하는 코드이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 11 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/053-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 18:40:58 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/053-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 코드에서 Box 클래스의 선언부와 구현부를 Box.h, Box.cpp 파일로 분리하고 main() 함수 부분을 main.cpp로 분리하여 전체 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    class Box {  int width, height;  char fill;  public:  Box(int w, int h) { setSize(w, h); fill = &#39;*&#39;;}  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 &amp;lt; height; n++) {  for (int m = 0; m &amp;lt; width; m++) cout &amp;lt;&amp;lt; fill;  cout &amp;lt;&amp;lt; endl;  }  }    int main() {  Box b(10, 2);  b.draw(); // 박스를 그린다.  cout &amp;lt;&amp;lt; endl;  b.setSize(7, 4); // 박스의 크기를 변경한다.  b.setFill(&#39;^&#39;); // 박스의 내부를 채울 문자를 &#39;^&#39;로 변경한다.  b.draw(); // 박스를 그린다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/052-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 17:52:41 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/052-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다수의 클래스를 선언하고 활용하는 간단한 문제이다. 더하기(+), 빼기(-), 곱하기(*), 나누기(/)를 수행하는 4개의 클래스를 Add, Sub, Mul, Div를 만들고자 한다.&lt;/p&gt;
&lt;p&gt;이들은 모두 공통으로 다음 멤버를 가진다.&lt;/p&gt;
&lt;p&gt;● int 타입 변수 a, b : 피연산자&lt;/p&gt;
&lt;p&gt;● void setValue(int x, int y) 함수 : 매개 변수 x, y를 멤버 a, b에 복사&lt;/p&gt;
&lt;p&gt;● int calculate() 함수 : 연산을 실행하고 결과 리턴&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/52/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;main() 함수는 Add, Sub, Mul, Div 클래스 타입의 객체 a, s, m, d를 생성하고, 아래와 같이 키보드로부터 두 개의 정수와 연산자를 입력받고, a, s, m, d 객체 중에서 연산을 처리할 객체의 setValue() 함수를 호출한 후, calculate()를 호출하여 결과를 화면에 출력한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/051-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 17:11:09 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/051-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Oval 클래스는 주어진 사각형에 내접하는 타원을 추상화한 클래스이다.&lt;/p&gt;
&lt;p&gt;Oval 클래스의 멤버는 모두 다음과 같다. Oval 클래스를 선언부와 구현부로 나누어 작성하라.&lt;/p&gt;
&lt;p&gt;● 정수값의 사각형 너비와 높이를 가지는 width, height 변수 멤버&lt;/p&gt;
&lt;p&gt;● 너비와 높이 값을 매개 변수로 받는 생성자&lt;/p&gt;
&lt;p&gt;● 너비와 높이를 1로 초기화하는 매개 변수 없는 생성자&lt;/p&gt;
&lt;p&gt;● width와 height를 출력하는 소멸자&lt;/p&gt;
&lt;p&gt;● 타원이 너비를 리턴하는 getWidth() 함수 멤버&lt;/p&gt;
&lt;p&gt;● 타원의 높이를 리턴하는 getHeight() 함수 멤버&lt;/p&gt;
&lt;p&gt;● 타원의 너비와 높이를 변경하는 set(int w, int h) 함수 멤버&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/050-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 16:54:21 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/050-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;int 타입의 정수를 객체화한 Integer 클래스를 작성하라. Integer의 모든 멤버 함수를 자동 인라인으로 작성하라.&lt;/p&gt;
&lt;p&gt;Integer 클래스를 활용하는 코드는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;string&gt;  using namespace std;    int main() {  Integer n(30);  cout &amp;lt;&amp;lt; n.get() &amp;lt;&amp;lt; &#39; &#39;; // 30 출력  n.set(50);  cout &amp;lt;&amp;lt; n.get() &amp;lt;&amp;lt; &#39; &#39;; // 50 출력    Integer m(&amp;quot;300&amp;quot;);  cout &amp;lt;&amp;lt; m.get() &amp;lt;&amp;lt; &#39; &#39;; // 300 출력  cout &amp;lt;&amp;lt; m.isEven(); // true(정수로 1) 출력  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/049-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 16:44:34 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/049-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 5번을 참고하여 생성자를 이용하여 짝수 홀수를 선택할 수 있도록 SelectableRandom 클래스를 작성하고 짝수 10개, 홀수 10개를 랜덤하게 발생시키는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/47&#34;&gt;2020/03/03 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 3장 5번&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[명품 C++ programming Exercise Problem 3장 5번&lt;/p&gt;
&lt;p&gt;Problem: 랜덤 수를 발생시키는 Random 클래스를 만들자. Random 클래스를 이용하여 랜덤 한 정수를 10개 출력하는 사례는 다음과 같다. Random 클래스가 생성자, next(), nextInRange()의 3개의 멤버 함수를 가지도..&lt;/p&gt;
&lt;p&gt;sobamemil.tistory.com](&lt;a href=&#34;https://sobamemil.tistory.com/47&#34;&gt;https://sobamemil.tistory.com/47&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/048-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 16:20:43 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/048-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문제 5번을 참고하여 짝수 정수만 랜덤하게 발생시키는 EvenRandom 클래스를 작성하고 EvenRandom 클래스를 이용하여 10개의 짝수를 랜덤하게 출력하는 프로그램을 완성하라.&lt;/p&gt;
&lt;p&gt;0도 짝수로 처리한다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sobamemil.tistory.com/47&#34;&gt;2020/03/03 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 3장 5번&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[명품 C++ programming Exercise Problem 3장 5번&lt;/p&gt;
&lt;p&gt;Problem: 랜덤 수를 발생시키는 Random 클래스를 만들자. Random 클래스를 이용하여 랜덤 한 정수를 10개 출력하는 사례는 다음과 같다. Random 클래스가 생성자, next(), nextInRange()의 3개의 멤버 함수를 가지도..&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/047-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 16:09:46 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/047-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;랜덤 수를 발생시키는 Random 클래스를 만들자. Random 클래스를 이용하여 랜덤 한 정수를 10개 출력하는 사례는 다음과 같다.&lt;/p&gt;
&lt;p&gt;Random 클래스가 생성자, next(), nextInRange()의 3개의 멤버 함수를 가지도록 작성하고 main() 함수와 합쳐 하나의 cpp 파일에 구현하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;int main() {  Random r;  cout &amp;lt;&amp;lt; &amp;quot;-- 0에서 &amp;quot; &amp;lt;&amp;lt; RAND_MAX &amp;lt;&amp;lt; &amp;quot;까지의 랜덤 정수 10 개--&amp;quot; &amp;lt;&amp;lt; endl;  for(int i=0; i&amp;lt;10; i++) {  int n = r.next(); // 0에서 RAND_MAX(32767) 사이의 랜덤한 정수  cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &#39; &#39;;  }  cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;-- 2에서 &amp;quot; &amp;lt;&amp;lt; &amp;quot;4 까지의 랜덤 정수 10 개 --&amp;quot; &amp;lt;&amp;lt; endl;  for(int i=0; i&amp;lt;10; i++) {  int n = r.nextInRange(2,4); // 2에서 4 사이의 랜덤한 정수  cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &#39; &#39;;  }  cout &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/046-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 15:54:40 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/046-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;CoffeeMachine 클래스를 만들어보자. main() 함수와 Execution Result가 다음과 같도록 CoffeeMachine 클래스를 작성하라.&lt;/p&gt;
&lt;p&gt;에스프레소 한 잔에는 커피와 물이 각각 1씩 소비되고, 아메리카노의 경우 커피는 1, 물은 2가 소비되고, 설탕 커피는 커피 1, 물 2, 설탕 1이 소비된다.&lt;/p&gt;
&lt;p&gt;CoffeeMachine 클래스에는 어떤 멤버 변수와 어떤 멤버 함수가 필요한지 잘 판단하여 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  CoffeeMachine java(5, 10, 3); // 커피량:5, 물량:10, 설탕:6 으로 초기화  java.drinkEspresso(); // 커피 1, 물 1 소비  java.show(); // 현재 커피 머신의 상태 출력  java.drinkAmericano(); // 커피 1, 물 2 소비  java.show(); // 현재 커피 머신의 상태 출력  java.drinkSugarCoffee(); // 커피 1, 물 2, 설탕 1 소비  java.show(); // 현재 커피 머신의 상태 출력  java.fill(); // 커피 10, 물 10, 설탕 10 으로 채우기  java.show(); // 현재 커피 머신의 상태 출력&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/045-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Mon, 02 Mar 2020 17:56:41 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/045-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;은행에서 사용하는 프로그램을 작성하기 위해, 은행 계좌 하나를 표현하는 클래스 Account가 필요하다.&lt;/p&gt;
&lt;p&gt;계좌 정보는 계좌의 주인, 계좌 번호, 잔액을 나타내는 3 멤버 변수로 이루어진다.&lt;/p&gt;
&lt;p&gt;main() 함수의 실행과 결과가 다음과 같도록 Account 클래스를 작성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  Account a(&amp;quot;Kitae&amp;quot;, 1, 5000); // id 1번, 잔액 5000원, 이름이 Kitae인 계좌 성  a.deposit(50000); // 50000원 저금  cout &amp;lt;&amp;lt; a.getOwner() &amp;lt;&amp;lt; &amp;quot;의 잔액은 &amp;quot; &amp;lt;&amp;lt; a.inquiry() &amp;lt;&amp;lt; endl;  int money = a.withdraw(20000); // 20000원 출금. withdraw()는 출금한 실제 금액 리턴  cout &amp;lt;&amp;lt; a.getOwner() &amp;lt;&amp;lt; &amp;quot;의 잔액은 &amp;quot; &amp;lt;&amp;lt; a.inquiry() &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/044-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Mon, 02 Mar 2020 17:38:17 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/044-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;날짜를 다루는 Date 클래스를 작성하고자 한다. Date를 이용하는 main()과 Execution Result는 다음과 같다.&lt;/p&gt;
&lt;p&gt;클래스 Date를 작성하여 아래 프로그램에 추가하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  Date virth(2014, 3, 20);  Date independenceDay(&amp;quot;1945/8/15&amp;quot;);  independenceDay.show();  cout &amp;lt;&amp;lt; birth.getYear() &amp;lt;&amp;lt; &#39;,&#39; &amp;lt;&amp;lt; birth.getMonth() &amp;lt;&amp;lt; &#39;,&#39; &amp;lt;&amp;lt; birth.getDay() &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/44/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2개의 생성자와 여러 멤버를 가진 클래스 만들기&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.3 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/043-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Mon, 02 Mar 2020 17:24:18 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/043-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;아래 main()의 Execution Result가 다음과 같도록 Tower 클래스를 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/43/img_1.png&#34;&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  Tower myTower; // 1 미터  Tower seoulTower(100); // 100 미터  cout &amp;lt;&amp;lt; &amp;quot;높이는 &amp;quot; &amp;lt;&amp;lt; myTower.getHeight() &amp;lt;&amp;lt; &amp;quot;미터&amp;quot; &amp;lt;&amp;lt; endl;  cout &amp;lt;&amp;lt; &amp;quot;높이는 &amp;quot; &amp;lt;&amp;lt; seoulTower.getHeight() &amp;lt;&amp;lt; &amp;quot;미터&amp;quot; &amp;lt;&amp;lt; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;2개의 생성자와 여러 멤버를 가진 클래스 만들기&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 16 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/042-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-16%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 20:24:43 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/042-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-16%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;영문 텍스트를 입력받아 알파벳 히스토그램을 그리는 프로그램을 작성하라. 대문자는 모두 소문자로 집계하며, 텍스트 입력의 끝은 &#39;;&#39; 문자로 한다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문자열 읽기, C++ 프로그램 종합 응용&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Input File:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;입력할 텍스트 파일을 첨부하였습니다.&lt;/p&gt;
&lt;p&gt;[2-16.txt&lt;/p&gt;
&lt;p&gt;0.00MB](&lt;a href=&#34;https://blog.kakaocdn.net/dna/EsAHK/btqChFfPBnw/AAAAAAAAAAAAAAAAAAAAAOhcwRebixdRiSrFB2r5c8Z4mBZDeCt4ibUUEp2n5aCw/2-16.txt?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1788188399&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=PEoHUr5ktP9MyFLvskuQj0jS1Q8%3D&amp;amp;attach=1&amp;amp;knm=tfile.txt&#34;&gt;https://blog.kakaocdn.net/dna/EsAHK/btqChFfPBnw/AAAAAAAAAAAAAAAAAAAAAOhcwRebixdRiSrFB2r5c8Z4mBZDeCt4ibUUEp2n5aCw/2-16.txt?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;expires=1788188399&amp;allow_ip=&amp;allow_referer=&amp;signature=PEoHUr5ktP9MyFLvskuQj0jS1Q8%3D&amp;attach=1&amp;knm=tfile.txt&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/42/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;cstring&gt;  using namespace std;    int main() {  int tot=0; // 총 알파벳 개수  int alpha[27]={0}; // 각각의 알파벳을 나타냄  char text[10000]; // text를 저장할 배열    cout &amp;lt;&amp;lt; &amp;quot;영문 텍스트를 입력하세요. 히스토그램을 그립니다.\n텍스트의 끝은 ; 입니다. 10000개까지 가능합니다.\n&amp;quot;;  cin.getline(text,10000,&#39;;&#39;); // 최대 10,000개의 영문 텍스트를 &#39;;&#39;전까지 입력받는다    for (int i = 0; i&amp;lt;strlen(text); i++) { // text[0]부터 text의 끝까지  if (isalpha(text[i])) { // text[i]가 알파벳이면 참  if(text[i]&amp;lt;91) text[i] = tolower(text[i]); // text[i]가 대문자이면 소문자로 변경  tot++;  alpha[text[i] - 97]++; // 각각의 알파벳이 몇개인지 카운트  }  }    cout &amp;lt;&amp;lt; &amp;quot;총 알파벳 수 &amp;quot; &amp;lt;&amp;lt; tot &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;  for (int i = 0; i &amp;lt; 26; ++i) { // 알파벳의 소문자 총 개수는 26개 (a~z)  cout &amp;lt;&amp;lt; (char)(i+&#39;a&#39;) &amp;lt;&amp;lt; &amp;quot;(&amp;quot; &amp;lt;&amp;lt; alpha[i] &amp;lt;&amp;lt; &amp;quot;)&amp;quot;; // a부터 z까지 출력 후 각 (알파벳의 개수) 출력  cout &amp;lt;&amp;lt; &amp;quot;\t:  &amp;quot;; // 포맷을 출력하기 위해 탭과 &amp;quot;:&amp;quot; 출력  for (int j = 1; j &amp;lt;= alpha[i]; j++) // 각 알파벳의 개수만큼 &amp;quot;*&amp;quot; 출력  cout &amp;lt;&amp;lt; &amp;quot;*&amp;quot;;  cout &amp;lt;&amp;lt; endl;  }  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 15 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/041-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-15%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 20:00:03 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/041-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-15%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)의 정수 5척 연산을 할 수 있는 프로그램을 작성하라. 식은 다음과 같은 형식으로 입력된다. 정수와 연산자는 하나의 빈칸으로 분리된다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/41/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;공백을 포함하는 문자열 읽기, C++ 프로그램 종합 응용&lt;/p&gt;
&lt;p&gt;한 줄을 문자열로 읽고, 공백 문자를 찾아 연산자와 두 개의 피연산자를 구분한 후, 계산하면 됩니다.&lt;/p&gt;
&lt;p&gt;문자열을 정수로 바꿀 때 atoi() 함수를 이용하면 됩니다.&lt;/p&gt;
&lt;p&gt;예를 들면 atoi(&amp;quot;34&amp;quot;) = 34 입니다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/41/img_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;cstring&gt; #include&lt;cstdlib&gt;  using namespace std;    int main(){    char sic[100];  char *symbol;    int front,rear;    while(true){  cout &amp;lt;&amp;lt; &amp;quot;? &amp;quot;;  cin.getline(sic,100);  front = atoi(strtok(sic, &amp;quot; &amp;quot;));  symbol = strtok(NULL, &amp;quot; &amp;quot;);  rear = atoi(strtok(NULL, &amp;quot; &amp;quot;));    if(*symbol == &#39;+&#39;){  cout &amp;lt;&amp;lt; front &amp;lt;&amp;lt; &amp;quot; + &amp;quot; &amp;lt;&amp;lt; rear &amp;lt;&amp;lt; &amp;quot; = &amp;quot; &amp;lt;&amp;lt; front+rear &amp;lt;&amp;lt; endl;  }  else if(*symbol == &#39;-&#39;){  cout &amp;lt;&amp;lt; front &amp;lt;&amp;lt; &amp;quot; - &amp;quot; &amp;lt;&amp;lt; rear &amp;lt;&amp;lt; &amp;quot; = &amp;quot; &amp;lt;&amp;lt; front-rear &amp;lt;&amp;lt; endl;  }  else if(*symbol == &#39;*&#39;){  cout &amp;lt;&amp;lt; front &amp;lt;&amp;lt; &amp;quot; * &amp;quot; &amp;lt;&amp;lt; rear &amp;lt;&amp;lt; &amp;quot; = &amp;quot; &amp;lt;&amp;lt; front*rear &amp;lt;&amp;lt; endl;  }  else if(*symbol == &#39;/&#39;){  cout &amp;lt;&amp;lt; front &amp;lt;&amp;lt; &amp;quot; / &amp;quot; &amp;lt;&amp;lt; rear &amp;lt;&amp;lt; &amp;quot; = &amp;quot; &amp;lt;&amp;lt; front/rear &amp;lt;&amp;lt; endl;  }  else if(*symbol == &#39;%&#39;){  cout &amp;lt;&amp;lt; front &amp;lt;&amp;lt; &amp;quot; % &amp;quot; &amp;lt;&amp;lt; rear &amp;lt;&amp;lt; &amp;quot; = &amp;quot; &amp;lt;&amp;lt; front%rear &amp;lt;&amp;lt; endl;  }  }  return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 14 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/040-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-14%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 19:34:38 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/040-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-14%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;커피를 주문하는 간단한 C++ 프로그램을 작성해보자. 커피 종류는 &amp;quot;에스프레소&amp;quot;, &amp;quot;아메리카노&amp;quot;, &amp;quot;카푸치노&amp;quot;의 3가지이며 가격은 각각 2000원, 2300원, 2500원이다. 하루에 20000원 이상 벌게 되면 카페를 닫는다. Execution Result와 같이 작동하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;C++ 프로그램 구성. cin, strcmp() 활용 종합 연습&lt;/p&gt;
&lt;p&gt;char coffee[100]; int num; cin &amp;gt;&amp;gt; coffee &amp;gt;&amp;gt; num; 으로 커피 이름과 잔 수를 입력받으면 됩니다.&lt;/p&gt;
&lt;p&gt;또한 커피는 if(strcmp(coffee, &amp;quot;에스프레소&amp;quot;) == 0 )과 같이 비교하면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 13 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/039-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-13%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 19:01:50 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/039-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-13%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;중식당의 주문 과정을 C++ 프로그램으로 작성해보자. 다음 Execution Result와 같이 메뉴와 사람 수를 입력받고 이를 출력하면 된다. 잘못된 입력을 가려내는 부분도 코드에 추가하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;C++ 프로그램으로 구성, 키 입력 등 종합 연습&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/39/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    int main() {  int num,tot;  cout &amp;lt;&amp;lt; &amp;quot;***** 승리장에 오신 것을 환영합니다. ***** \n&amp;quot;;  while(true){  cout &amp;lt;&amp;lt; &amp;quot;짬뽕:1, 짜장:2, 군만두:3, 종료:4&amp;gt;&amp;gt;  &amp;quot;;  cin &amp;gt;&amp;gt; num;  if(num == 4) {  cout &amp;lt;&amp;lt; &amp;quot;오늘 영업은 끝났습니다.&amp;quot;;  break;  }  if(num &amp;gt; 4)  {  cout &amp;lt;&amp;lt; &amp;quot;다시 주문하세요!!\n&amp;quot;;  continue;  }    cout &amp;lt;&amp;lt; &amp;quot;몇인분?&amp;quot;;  cin &amp;gt;&amp;gt; tot;    if(num==1)  cout &amp;lt;&amp;lt; &amp;quot;짬뽕 &amp;quot; &amp;lt;&amp;lt; tot &amp;lt;&amp;lt; &amp;quot;인분 나왔습니다\n&amp;quot;;  else if(num==2)  cout &amp;lt;&amp;lt; &amp;quot;짜장 &amp;quot; &amp;lt;&amp;lt; tot &amp;lt;&amp;lt; &amp;quot;인분 나왔습니다\n&amp;quot;;  else if(num==3)  cout &amp;lt;&amp;lt; &amp;quot;군만두 &amp;quot; &amp;lt;&amp;lt; tot &amp;lt;&amp;lt; &amp;quot;인분 나왔습니다\n&amp;quot;;  }    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 12 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/038-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 18:15:45 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/038-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 C 프로그램을 C++ 프로그램으로 수정하여 실행하라. 이 프로그램의 Execution Result는 Exercise Problem 11과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18&lt;/td&gt;
          &lt;td&gt;#include &amp;lt;stdio.h&amp;gt;  int sum();    int main() {  int n=0;  printf(&amp;quot;끝 수를 입력하세요&amp;gt;&amp;gt;&amp;quot;);  scanf(&amp;quot;%d&amp;quot;, &amp;amp;n);  printf(&amp;quot;1에서 %d까지의 합은 %d 입니다.\n&amp;quot;, n, sum(1,n));  return 0;  }    int sum(int a, int b) {  int k, res=0;  for(k=a; k&amp;lt;=b; k++){  res += k;  }  return res;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://sobamemil.tistory.com/37&#34;&gt;2020/02/28 - [C++/명품 C++ programming] - 명품 C++ programming Exercise Problem 2장 11번&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/036-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 17:44:09 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/036-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문자열을 하나 입력받고 문자열의 부분 문자열을 다음과 같이 출력하는 프로그램을 작성하라. 예시는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/36/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문자열 읽기, 문자열 다루기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/36/img_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {    cout &amp;lt;&amp;lt; &amp;quot;문자열 입력&amp;gt;&amp;gt;&amp;quot;;  char str[100];    cin.getline(str,100);    for(int i=1;i&amp;lt;100;i++){  for(int j=0;j&amp;lt;i;j++) {  cout &amp;lt;&amp;lt; str[j];  }  if(str[i]==&#39;\0&#39;) // 문자열의 끝이면 break  break;  cout &amp;lt;&amp;lt; endl;  }    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/035-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 17:36:57 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/035-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;이름, 주소, 나이를 입력받아 다시 출력하는 프로그램을 작성하라. 실행 예시는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/35/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;빈칸을 포함하는 문자열 읽기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/35/img_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    int main() {  char name[100];  char addr[100];  int age;    cout &amp;lt;&amp;lt; &amp;quot;이름은?&amp;quot;;  cin.getline(name,100);    cout &amp;lt;&amp;lt; &amp;quot;주소는?&amp;quot;;  cin.getline(addr,100);    cout &amp;lt;&amp;lt; &amp;quot;나이는?&amp;quot;;  cin &amp;gt;&amp;gt; age;    cout &amp;lt;&amp;lt; name &amp;lt;&amp;lt; &amp;quot;, &amp;quot; &amp;lt;&amp;lt; addr &amp;lt;&amp;lt; &amp;quot;, &amp;quot; &amp;lt;&amp;lt; age &amp;lt;&amp;lt; &amp;quot;세&amp;quot;;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/034-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 17:24:52 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/034-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;한 라인에 &#39;;&#39; 으로 5개의 이름을 구분하여 입력받아, 각 이름을 끊어내어 화면에 출력하고 가장 긴 이름을 판별하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin.getline()으로 문자열 읽기&lt;/p&gt;
&lt;p&gt;&#39;;&#39;까지 문자열을 읽고자 하면 다음 코드를 사용하고&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2&lt;/td&gt;
          &lt;td&gt;char name[100];  cin.getline(name, 100, &#39;;&#39;);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;5개 읽어야 하니 5번 루프를 돈다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/34/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;cstring&gt;  using namespace std;    int main() {    int A=0;  int i;  char name[100];  char longName[100];    cout &amp;lt;&amp;lt; &amp;quot;5 명의 이름을 &#39;;&#39; 으로 구분하여 입력하세요 \n&amp;gt;&amp;gt;&amp;quot;;    for(i=1;i&amp;lt;6;i++){  cin.getline(name,100,&#39;;&#39;);  cout &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot; : &amp;quot; &amp;lt;&amp;lt; name &amp;lt;&amp;lt; endl;  if(A &amp;lt; strlen(name)) {  A = strlen(name);  strcpy(longName,name);  }  }  cout &amp;lt;&amp;lt; &amp;quot;가장 긴 이름은 &amp;quot; &amp;lt;&amp;lt; longName;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/033-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 17:07:48 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/033-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음과 같이 &amp;quot;yes&amp;quot;가 입력될 때까지 종료하지 않는 프로그램을 작성하라. 사용자로부터의 입력은 cin.getline() 함수를 사용하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;공백을 포함하는 문자열 읽기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/33/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  #include &lt;cstring&gt;  using namespace std;    int main() {  char A[] = &amp;quot;yes&amp;quot;; // 배열 선언시 &amp;quot;yes&amp;quot;로 초기화  char B[100];  while(true){  cout &amp;lt;&amp;lt; &amp;quot;종료하고 싶으면 yes를 입력하세요&amp;gt;&amp;gt;&amp;quot;;  cin.getline(B,100);  if(strcmp(A,B) == 0) break;  }    cout &amp;lt;&amp;lt; &amp;quot;종료합니다...&amp;quot;;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/032-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 17:01:06 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/032-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;문자열을 두 개 입력받고 두 개의 문자열이 같은지 검사하는 프로그램을 작성하라. 만일 같으면 &amp;quot;같습니다&amp;quot;, 아니면 &amp;quot;같지 않습니다&amp;quot;를 출력하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;공백 없이 입력된 문자열 읽기 (빈칸 없이 입력)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/32/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&lt;cstring&gt;  using namespace std;    int main() {  char pw1[100];  char pw2[100];    cout &amp;lt;&amp;lt; &amp;quot;새 암호를 입력하세요&amp;gt;&amp;gt;&amp;quot;;  cin.getline(pw1,100);    cout &amp;lt;&amp;lt; &amp;quot;새 암호를 다시 한 번 입력하세요&amp;gt;&amp;gt;&amp;quot;;  cin.getline(pw2,100);    if(strcmp(pw1,pw2)==0)  cout &amp;lt;&amp;lt; &amp;quot;같습니다&amp;quot;;  else  cout &amp;lt;&amp;lt; &amp;quot;같지 않습니다&amp;quot;;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/031-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 16:49:19 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/031-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;Enter&gt; 키가 입력될 때까지 문자들을 읽고, 입력된 문자 &#39;x&#39;의 개수를 화면에 출력하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin.getline() 함수를 이용해 한 줄의 문자열 읽기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/31/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  int i,x=0;  char a[100];    cout &amp;lt;&amp;lt; &amp;quot;문자들을 입력하라(100개 미만).\n&amp;quot;;    cin.getline(a,100); // 문자열 단위로 읽음    for(i=0; i&amp;lt;100; i++){  if(a[i]==&#39;x&#39;) // a[i]가 &#39;x&#39;이면 카운트  x++;  }  cout &amp;lt;&amp;lt; &amp;quot;x의 개수는 &amp;quot; &amp;lt;&amp;lt; x;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/030-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 16:37:04 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/030-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;소수점을 가지는 5개의 실수를 입력 받아 제일 큰 수를 화면에 출력하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin 활용, 키보드로부터 실수 읽기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/30/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    int main() {  float a[5], big;  int i;    cout &amp;lt;&amp;lt; &amp;quot;5 개의 실수를 입력하라&amp;gt;&amp;gt;&amp;quot;;  for(i=0;i&amp;lt;5;i++)  // 5개의 실수 입력 받기  cin &amp;gt;&amp;gt; a[i];  big = a[0]; // a의 첫번째 원소를 big에 삽입    for(i=1;i&amp;lt;5;i++)  if(big&amp;lt;a[i]) //a[i]가 big보다 크면 big에 삽입  big=a[i];    cout &amp;lt;&amp;lt; &amp;quot;제일 큰 수 = &amp;quot; &amp;lt;&amp;lt; big;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>명품 C&#43;&#43; programming 실습문제 2장 3번</title>
      <link>https://blog.sobamemil.com/en/posts/029-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 16:27:30 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/029-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;키보드로부터 두 개의 정수를 읽어 큰 수를 화면에 출력하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cin 활용, 키보드로부터 정수 읽기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/29/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    int main(){  int a,b;  cout &amp;lt;&amp;lt; &amp;quot;두 수를 입력하라&amp;gt;&amp;gt;&amp;quot;;  cin &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b; // cin 연산자를 이용하여 두개의 정수 입력받기  cout &amp;lt;&amp;lt; &amp;quot;큰 수 = &amp;quot;;  if(a&amp;lt;b)  cout &amp;lt;&amp;lt; b;  else  cout &amp;lt;&amp;lt; a;    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/028-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 16:19:50 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/028-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cout과 &amp;lt;&amp;lt; 연산자를 이용하여 다음과 같이 구구단을 출력하는 프로그램을 작성하라.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/28/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cout 활용, 화면 출력&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/28/img_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    int main() {  int i, j;    for(i=1; i&amp;lt;10; i++){  for(j=1; j&amp;lt;10; j++) {  cout &amp;lt;&amp;lt; j &amp;lt;&amp;lt; &amp;quot;x&amp;quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;=&amp;quot; &amp;lt;&amp;lt; j*i &amp;lt;&amp;lt; &#39;\t&#39;;  if(j==9) // 9단 출력 후 줄바꿈.  cout &amp;lt;&amp;lt; endl;  }  }  return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.2 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/027-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Fri, 28 Feb 2020 16:12:18 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/027-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-2%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cout과 &amp;lt;&amp;lt; 연산자를 이용하여, 1에서 100까지 정수를 다음과 같이 한 줄에 10개씩 출력하라. 각 정수는 탭으로 분리하여 출력하라.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/27/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/27/img_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;cout 활용, 화면 출력&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    int main(){  int i;    for(i=1;i&amp;lt;101;i++){  cout &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;\t&amp;quot;;  if(i%10==0) // 10개마다 개행문자 출력  cout &amp;lt;&amp;lt; endl;  }    return 0;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 10 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/017-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-10%EB%B2%88/</link>
      <pubDate>Tue, 26 Nov 2019 13:00:11 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/017-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-10%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;간단한 그래픽 편집기를 콘솔 바탕으로 만들어보자. 그래픽 편집기의 기능은 &amp;quot;삽입&amp;quot;, &amp;quot;삭제&amp;quot;, &amp;quot;모두보기&amp;quot;, &amp;quot;종료&amp;quot; 의 4가지이고, 실행 과정은 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/17/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;추상 클래스, 상속 종합 응용&lt;/p&gt;
&lt;p&gt;Shape과 이를 상속받은 Circle, Line,Rect 클래스는 [그림9-13]을 이용하고 필요한 클래스와 main() 함수를 작성하라. 전체 프로그램은 대략 아래와 같이 구성된다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/17/img_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  #include&amp;lt;stdlib.h&amp;gt;    using namespace std;    class UI {  public:  static int show_menu() {  int num;  cout &amp;lt;&amp;lt; &amp;quot;삽입:1, 삭제:2, 모두보기:3, 종료:4 &amp;gt;&amp;gt;&amp;quot; ;  cin &amp;gt;&amp;gt; num;  return num;  }  static int input_shape() {  int num;  cout &amp;lt;&amp;lt; &amp;quot;선:1, 원:2, 사각형:3 &amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; num;  return num;  }  static int del_index() {  int num;  cout &amp;lt;&amp;lt; &amp;quot;삭제하고자 하는 도형의 인덱스 &amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; num;  return num;  }  };    class Shape { // Node  Shape* next;  protected:  virtual void draw() { cout &amp;lt;&amp;lt; &amp;quot;--Shape--&amp;quot; &amp;lt;&amp;lt; endl; }  public:  Shape() { next = NULL; }  virtual ~Shape() {}  Shape* add(Shape* p) {  this-&amp;gt;next = p;  return p;  }  Shape* getNext() { return next; }  void paint() { draw(); }  void setNext(Shape *p) { this-&amp;gt;next = p-&amp;gt;next; }  };    class Line : public Shape {  public:  virtual void draw() { cout &amp;lt;&amp;lt; &amp;quot;Line&amp;quot; &amp;lt;&amp;lt; endl; }  };    class Circle : public Shape {  public:  virtual void draw() { cout &amp;lt;&amp;lt; &amp;quot;Circle&amp;quot; &amp;lt;&amp;lt; endl; }  };    class Rect : public Shape {  public:  virtual void draw() { cout &amp;lt;&amp;lt; &amp;quot;Rectangle&amp;quot; &amp;lt;&amp;lt; endl; }  };      class GraphicEditor { // List  int node_size;  Shape* pStart;  Shape* pLast;  public:  GraphicEditor() {  pStart = NULL;  node_size = 0;  }  int run() {  cout &amp;lt;&amp;lt; &amp;quot;그래픽 에디터입니다.\n&amp;quot;;  while(true){  int num;  num = UI::show_menu();  switch (num){  case 1:{  num = UI::input_shape();  input_new(num);  break;  }  case 2:{  if(pStart == NULL){  cout &amp;lt;&amp;lt; &amp;quot;List Empty\n&amp;quot;;  break;  }  num = UI::del_index();  del(num);  break;  }  case 3:{  show();  break;  }  case 4:{  exit(0);  }  default :  cout &amp;lt;&amp;lt; &amp;quot;메뉴를 잘못 선택하셨습니다.\n&amp;quot;;  }  }  }  void input_new(int n) {  switch (n){  case 1: {  if(node_size == 0) {  pStart = new Line();  pLast = pStart;  }  else  pLast = pLast-&amp;gt;add(new Line());  node_size++;  break;  }  case 2: {  if(node_size == 0){  pStart = new Circle();  pLast = pStart;  }  else  pLast = pLast-&amp;gt;add(new Circle());  node_size++;  break;  }  case 3: {  if(node_size == 0){  pStart = new Rect();  pLast = pStart;  }  else  pLast = pLast-&amp;gt;add(new Rect());  node_size++;  break;  }  default :  cout &amp;lt;&amp;lt; &amp;quot;메뉴를 잘못 선택하셨습니다.\n&amp;quot;;  }    }  bool del(int n) {  int k=0;  Shape* target_node = pStart;  Shape* priv_node;  if(n == 0){  pStart = pStart-&amp;gt;getNext();  delete target_node;  }  else{  while( (target_node != NULL) &amp;amp;&amp;amp; (k &amp;lt; n)){  priv_node = target_node;  target_node = target_node-&amp;gt;getNext();  k++;  }  if(target_node == NULL){  cout &amp;lt;&amp;lt; &amp;quot;없는 노드입니다.\n&amp;quot;;  return false;  }  else {  priv_node-&amp;gt;setNext(target_node);  delete target_node;  }  }  node_size--;    }  void show() {  Shape* p = pStart;  int i=0;  if(p == NULL)  cout &amp;lt;&amp;lt; &amp;quot;List Empty\n&amp;quot;;  else  while(p != NULL){  cout &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;: &amp;quot;;  p-&amp;gt;paint();  p = p-&amp;gt;getNext();  i++;  }  }  };    int main() {  GraphicEditor* g_editor = new GraphicEditor;  g_editor-&amp;gt;run();  delete g_editor;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 9 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/018-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-9%EB%B2%88/</link>
      <pubDate>Tue, 26 Nov 2019 03:21:53 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/018-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-9%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 그림과 같은 상속 구조를 갖는 클래스를 설계한다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/18/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;모든 프린터는 모델명(model), 제조사(manufacturer), 인쇄 매수(printedCount), 인쇄 종이 잔량(availableCount)을 나타내는 정보를 가진다. print(int pages) 함수와 show() 함수는 가상 함수로 구현하라. print(int pages)는 pages 만큼 프린트하는 함수이고, show() 함수는 현재 프린트의 모델, 제조사, 인쇄 매수, 인쇄 종이 잔량 등을 출력하는 함수이다.&lt;/p&gt;
&lt;p&gt;잉크젯 프린터는 잉크 잔량(availableInk) 정보를 추가적으로 가지며, 레이저 프린터는 토너 잔량(availableToner) 정보를 추가적으로 가진다. 이들의 print(int pages) 멤버 함수는 프린터 타입에 맞게 구현하라. 각 클래스를 설계 구현하고 다음과 같이 실행되도록 전체 프로그램을 완성하라. InkJetPrinter 객체와 LaserPrinter 객체를 각각 하나만 동적으로 생성하여 시작한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 8 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/014-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-8%EB%B2%88/</link>
      <pubDate>Thu, 21 Nov 2019 12:49:18 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/014-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-8%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;사각형에 내접하는 도형을 표현하기 위한 Shape 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Shape {  protected:  string name; // 도형의 이름  int width, height; // 도형이 내접하는 사각형의 너비와 높이  public:  Shape(string n=&amp;quot;&amp;quot;, int w=0, int h=0) { name = n; width = w; height = h; }  virtual double getArea() { return 0; } // dummy 값 리턴  string getName() { return name; } // 이름 리턴  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;문제 7에 주어진 Shape 클래스를 추상 클래스로 만들고 문제 7을 다시 작성하라.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 7 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/013-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-7%EB%B2%88/</link>
      <pubDate>Thu, 21 Nov 2019 11:45:27 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/013-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-7%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;사각형에 내접하는 도형을 표한하기 위한 Shape 클래스가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Shape {  protected:  string name; // 도형의 이름  int width, height; // 도형이 내접하는 사각형의 너비와 높이  public:  Shape(string n=&amp;quot;&amp;quot;, int w=0, int h=0) { name = n; width = w; height = h; }  virtual double getArea() { return 0; } // dummy 값 리턴  string getName() { return name; } // 이름 리턴  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Write a 타원을 표현하는 Oval, 사각형을 표현하는 Rect, 삼각형을 표현하는 Triangular class that inherits from the Shape class. main()을 작성하고 실행하면 다음과 같다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 6 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/011-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-6%EB%B2%88/</link>
      <pubDate>Thu, 21 Nov 2019 02:04:07 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/011-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-6%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 AbstractStack은 정수 스택 클래스로서 추상 클래스이다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7&lt;/td&gt;
          &lt;td&gt;class AbstrackStack {  public:  virtual bool push(int n) = 0; // 스택에 n을 푸시한다. 스택이 full이면 false 리턴  virtual bool pop(int&amp;amp; n) = 0; // 스택에서 팝한 정수를 n에 저장하고 스택이 empty이면 false 리턴    virtual int size() = 0;  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이를 상속받아 정수를 푸시, 팝하는 IntStack 클래스를 만들고 사용 사례를 보여라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 3 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/008-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-3%EB%B2%88/</link>
      <pubDate>Thu, 21 Nov 2019 00:53:08 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/008-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-3%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 추상 클래스 LoopAdder가 있다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;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&lt;/td&gt;
          &lt;td&gt;class LoopAdder { // 추상 클래스  string name; // 루프의 이름  int x, y, sum; // x에서 y까지의 합은 sum  void read(); // x, y 값을 읽어 들이는 함수  void write(); // sum을 출력하는 함수  protected:  LoopAdder(string name=&amp;quot;&amp;quot;) { // 루프의 이름을 받는다. 초깃값은 &amp;quot;&amp;quot;  this-&amp;gt;name = name;  }  int getX() { return x; }  int getY() { return y; }  virtual int calculate() = 0; // 순수 가상 함수. 루프를 돌며 합을 구하는 함수  public:  void run(); // 연산을 진행하는 함수  };    void LoopAdder::read() { // x, y 입력  cout &amp;lt;&amp;lt; name &amp;lt;&amp;lt; &amp;quot;:&amp;quot; &amp;lt;&amp;lt; endl;  cout &amp;lt;&amp;lt; &amp;quot;처음 수에서 두번째 수까지 더한다. 두 수를 입력하세요 &amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; x &amp;gt;&amp;gt; y;  }    void LoopAdder::write() { // 결과 sum 출력  cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot;에서 &amp;quot; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; &amp;quot;까지의 합 = &amp;quot; &amp;lt;&amp;lt; sum &amp;lt;&amp;lt; &amp;quot; 입니다&amp;quot; &amp;lt;&amp;lt; endl;  }    void LoopAdder::run() {  read(); // x, y를 읽는다  sum = calculate(); // 루프를 돌면서 계산한다.  write(); // 결과 sum을 출력한다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Write a 다음 main() 함수와 Execution Result처럼 되도록 ForLoopAdder class that inherits from the LoopAdder class. ForLoopAdder 클래스의 calculate() 함수는 for 문을 이용하여 합을 구한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.9 Exercise 1 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/004-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-1%EB%B2%88/</link>
      <pubDate>Wed, 20 Nov 2019 22:55:26 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/004-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-9%EC%9E%A5-1%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The following is an abstract class Converter that converts units.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    class Converter {  protected:  double ratio;  virtual double convert(double src)=0; // src를 다른 단위로 변환한다.  virtual string getSourceString()=0; // src 단위 명칭  virtual string getDestString()=0; // dest 단위 명칭  public:  Converter(double ratio) { this-&amp;gt;ratio = ratio; }  void run(){  double src;  cout &amp;lt;&amp;lt; getSourceString() &amp;lt;&amp;lt; &amp;quot;을 &amp;quot; &amp;lt;&amp;lt; getDestString() &amp;lt;&amp;lt; &amp;quot;로 바꿉니다. &amp;quot;;  cout &amp;lt;&amp;lt; getSourceString() &amp;lt;&amp;lt; &amp;quot;을 입력하세요&amp;gt;&amp;gt; &amp;quot;;  cin &amp;gt;&amp;gt; src;  cout &amp;lt;&amp;lt; &amp;quot;변환 결과 : &amp;quot; &amp;lt;&amp;lt; convert(src) &amp;lt;&amp;lt; getDestString() &amp;lt;&amp;lt; endl;  }  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Write a 달러를 원화로 환산하는 WonToDollar class that inherits from the Converter class. The main() function and execution result are as follows.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
