<?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>Openchallenge on Sobamemil</title>
    <link>https://blog.sobamemil.com/en/tags/openchallenge/</link>
    <description>Recent content in Openchallenge 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>Tue, 10 Mar 2020 20:28:33 +0900</lastBuildDate>
    <atom:link href="https://blog.sobamemil.com/en/tags/openchallenge/index.xml" rel="self" type="application/rss+xml" />
    <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>
  </channel>
</rss>
