<?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>Template on Sobamemil</title>
    <link>https://blog.sobamemil.com/tags/template/</link>
    <description>Recent content in Template on Sobamemil</description>
    <generator>Hugo</generator>
    <language>ko</language>
    <lastBuildDate>Mon, 09 Mar 2020 15:53:04 +0900</lastBuildDate>
    <atom:link href="https://blog.sobamemil.com/tags/template/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>명품 C&#43;&#43; programming 실습 문제 10장 5번</title>
      <link>https://blog.sobamemil.com/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/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;strong&gt;문제 :&lt;/strong&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;strong&gt;실행 결과 :&lt;/strong&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;strong&gt;목적 및 힌트 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;함수의 힐반화에 대한 이해, 템플릿 함수 만들기&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;코드 :&lt;/strong&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 &amp;lt;class T&amp;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;laquo; a[i] &amp;laquo; &amp;rsquo; &amp;lsquo;;  }&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 실습 문제 10장 4번</title>
      <link>https://blog.sobamemil.com/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/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;strong&gt;문제 :&lt;/strong&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;laquo; &amp;ldquo;100이 배열 x에 포함되어 있다&amp;rdquo;; // 이 cout 실행  else cout &amp;laquo; &amp;ldquo;100이 배열 x에 포함되어 있지 않다&amp;rdquo;;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;실행 결과 :&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>명품 C&#43;&#43; programming 실습 문제 10장 3번</title>
      <link>https://blog.sobamemil.com/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/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;strong&gt;문제 :&lt;/strong&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;laquo; x[i] &amp;laquo; &amp;rsquo; &amp;lsquo;; // 4 5 100 10 1이 출력된다.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;실행 결과 :&lt;/strong&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;strong&gt;목적 및 힌트 :&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>명품 C&#43;&#43; programming 실습 문제 10장 2번</title>
      <link>https://blog.sobamemil.com/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/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;strong&gt;문제 :&lt;/strong&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;laquo; &amp;ldquo;같다&amp;rdquo;; // 배열 x, y가 같으므로 &amp;ldquo;같다&amp;rdquo; 출력  else  cout &amp;laquo; &amp;ldquo;다르다&amp;rdquo;;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;실행 결과 :&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>명품 C&#43;&#43; programming 실습 문제 10장 1번</title>
      <link>https://blog.sobamemil.com/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/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;strong&gt;문제 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;배열을 받아 가장 큰 값을 리턴하는 제네릭 함수 biggest()를 작성하라.&lt;/p&gt;
&lt;p&gt;또한 main() 함수를 작성하여 biggest()를 호출하는 몇 가지 사례를 보여라.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;실행 결과 :&lt;/strong&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;strong&gt;목적 및 힌트 :&lt;/strong&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;laquo; biggest(x, 5) &amp;laquo; endl; // 5는 배열 x의 크기. 100이 출력된다.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;코드 :&lt;/strong&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 &amp;lt;class T&amp;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;laquo; biggest(x, 5) &amp;laquo; endl;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;설명 :&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
