%=====================================================================
% ���Ĺ��� 5E �׻������� �ƥ�����
%�ơ��� ����(5) �ؿ�
%    �ܥƥ����Ȥ�����
%        ���ؿ�
%          ���ؿ��Ȥ�
%          ���ؿ��κ�����ȻȤ���
%          ���ǡ������Ϥ���ˡ
%          ������ͤ��֤���ˡ
%          ���������Х��ѿ��ˤ��ǡ����μ����Ϥ�
%          ��main�ؿ��ؤΰ����Ϥ�
%          ���Ƶ�������
%
% last updated 2005.5.25
%    created by  Masashi Yamamoto
%     e-mail yamamoto@akita-nct.jp
%=====================================================================
\documentclass[10pt,a4paper]{jarticle}
\usepackage{graphicx,amsmath,amssymb,ascmac,theorem,float}
\usepackage{listings, jlisting, html}
\oddsidemargin 0mm  %����;�� 25.4mm-0mm����ڡ���
\evensidemargin 0mm %����;�� 25.4mm-0mm�����ڡ���
\textwidth 160mm
\newcommand{\command}[1]{��\texttt{#1}��}
\newcommand{\tw}[1]{\texttt{#1}}
\newcommand{\vm}[1]{\boldsymbol{#1}}
%
\renewcommand{\lstlistingname}{�ꥹ��}
\lstset{language=C,%
        basicstyle=\footnotesize,%
        commentstyle=\texttt,%
        classoffset=1,%
        keywordstyle=\bfseries,%
	frame=tRBl,framesep=5pt,%
	showstringspaces=false,%
        numbers=left,stepnumber=1,numberstyle=\footnotesize%
	}%
%
\begin{document}
\title{C����γؽ�\\�ؿ�}
\author{���ܾ���\thanks{��Ω����ˡ�͡����Ĺ��ȹ�������ع����ŵ����ز�}}
\date{2004ǯ5��26��}
\maketitle
%
%=====================================================================
\section{�����γؽ�����}
%=====================================================================
���������Ƥϡ����ʽ��11�ϤǤ��롣�ʲ��Τ��Ȥ�褯���򤷤��ߤ�����
%
\begin{list}{}{\leftmargin=5zw \rightmargin=2zw \labelsep=1zw
 \labelwidth=5zw \itemindent=0pt}
 \item[\textbf{11��}]\textbf{�ؿ�}
		      \begin{itemize}
		       \item �ؿ���Ȥ���ͳ��ʬ���롣
		       \item �ؿ��ν�����ʬ���롣
		       \item �ǡ����μ����Ϥ���ʬ���롣
		      \end{itemize}
\end{list}
%
%
%=====================================================================
\section{�ؿ�(11��)}
%=====================================================================
%---------------------------------------------------------------------
\subsection{�ؿ��Ȥϲ���}
%---------------------------------------------------------------------
%------------------------
\subsubsection{�ؿ������}
%------------------------
1ǯ���λ��˳ؽ�����FORTRAN��Ф��Ƥ���ͤϡ����֥롼�����פ��Ф����ߤ���������
����C����δؿ����������롣�����ʤ�ץ�����ߥ󥰸���Ǥ⡢���Υ��֥롼�������
�����뵡ǽ�����롣������������ʵ�ǽ�Ǥ���Ȥ������ȤǤ��롣

C����Υץ������ϡ��ץ�ץ����å���(15��)�����ʸ�ȡ��¹�ʸ����ʤ롣������
�����ץ������¹����CPU��ư���Τϼ¹�ʸ�ν��������Ǥ��롣��˳ؽ����뤬��
�ץ�ץ����å����ϥ���ѥ����(\tw{gcc}���ޥ�ɻ��ѻ�)��ư��˻Ȥ��롣���ʸ��
�����ѿ�����ʤɤϡ��ץ�����ब���꡼�˥����ɤ����ݤˤ����ͽ�󤹤�Τ˻Ȥ�
�������Ǥ��롣���꡼�˥����ɤ��줿�ץ�����ब�ºݤ�ư���ΤǤ��뤬������
ư�����Ƥϼ¹�ʸ�˽���������ԥ塼�����ϡ��ץ��������μ¹�ʸ�ν���˽�������ư
Ū�˥��꡼�����Ƥ�������Ƥ�������Ǥ��롣

���μ¹�ʸ�ϡ�ɬ���ؿ��Υ֥��å���˽񤫤�ʤ��ƤϤʤ�ʤ������ޤǡ��ؽ����Ƥ���
�ץ������Ǥϡ�\tw{main}�ؿ��Τߤ����ꡢ������˼¹�ʸ���񤫤�Ƥ����Ϥ��Ǥ��롣
\tw{main}�ؿ������̤ǡ�C����Υץ������ˤϡ�ɬ��1��ɬ�פǡ���������¹Ԥ����
���ȤˤʤäƤ��롣

�ºݤ�C����Υץ������ϡ�\tw{main}�ؿ��Τߤ���Ǥ��Ƥ��뤳�Ȥϴ��ǡ��ꥹ��
\ref{prog:func_big}�Τ褦��ʣ���δؿ�����Ǥ��Ƥ��롣
%
\begin{htmlonly}
\input{program/func_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=������ؿ��ǤޤȤ᤿�ץ������,label=prog:func_big]
#include <stdio.h>

double max(double a, double b);

/*=====================================================================*/
/*������ �ᥤ��ؿ�                                                      */
/*=====================================================================*/
int main(){
  double x, y, z;

  x=2.5;
  y=3.1415;

  z=max(x, y);

  printf("�礭�����ϡ�%e�Ǥ���\n", z);

  return 0;
}

/*=====================================================================*/
/*������ �礭������õ���ؿ�                                               */
/*=====================================================================*/
double max(double a, double b){
  double big;

  if(a<b){
    big = b;
  }else{
    big = a;
  }
 
  return big;

}
\end{lstlisting}
\end{latexonly}

�ؿ��ϡ�Ĺ���ץ��������Ψ�褯���Ҥ��뤿���ɬ�פǤ��롣���Τ���ˡ����δؿ��ˤ�2�Ĥ���
�䤬���롣��Ĥϡ�Ʊ���褦�ʽ������ĤˤޤȤ�뤳�ȤǤ��롣�ºݤΥץ�������ư
��ϡ�Ʊ�����������뤤�ϻ����褦�ʽ���������¿�����������������񤯤ȥץ�����
�बĹ���ʤꡢ�ץ�����ޡ������ѤǤ��롣�����ǡ���ĤˤޤȤᡢɬ�פʤȤ��˸Ƥӽ�
���ΤǤ��롣

�⤦��ġ�Ĺ���ץ�����������ϡ�������ʬ����ˤ������Ǥ��롣�㤨�С�
windows2000���ȥ������ץ�����������4000���Ԥ��ȸ����Ƥ��롣���ξ�硢���줾
��μ¹�ʸ�����ʤ�ʬ����ʤ�������ԥ塼���������̤Υȥ�󥸥���������Ǥ��Ƥ�
�뤬�����줾�����䤬ʬ����ʤ��Τ�Ʊ���Ǥ��롣���Τ褦�����̤�����(�¹�ʸ)����
��������륳��ԥ塼����(�ץ������)��ư���ͤ���ݤ˽��פʤ��Ȥϡ��⥸�塼��
\footnote{module:ñ�̡�����ξ�硢���뵡ǽ��̤�������ñ�̤�ɽ��}��
ʬ�򤹤뤳�ȤǤ��롣��������ȡ�ư������Ƥ�ʬ����褦�ˤʤ롣Ĺ���ץ��������
�����Ʊ���ǡ���ǽñ��(�⥸�塼��)��ʬ����ʬ����䤹�����뤳�Ȥ����פǤ��롣C
����Ǥϴؿ���Ȥ�����ǽñ�̤˥ץ�������ʬ�䤹�롣

�ޤȤ��ȡ��ؿ�������
\begin{itemize}
 \item ���٤�Ʊ�����Ȥ�񤯤Τ����ݤʤΤǡ�Ʊ���褦�ʽ������ĤˤޤȤ�롣
 \item �ץ����������Ƥ�ʬ����䤹�����뤿��ˡ�������ǽñ�̤�ʬ�䤹�롣
\end{itemize}
�Ǥ��롣�äˡ�2���ܤ����פǡ��֥ץ������Υ�������ʬ����䤹���ʤ��ƤϤʤ�ʤ���
�Ȥ������Ȥ򡢴Τ��ä��Ƥ����ʤ��ƤϤʤ�ʤ���

\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]�ꥹ��\ref{prog:func_big}��ץ�ץ����å�����ʸ����
			 ��ʸ���¹�ʸ��ʬ���衣
  \item[\textbf{[����2]}]�ꥹ��\ref{prog:func_big}�Υץ������μ¹Խ�����
			 ���衣
 \end{itemize}
\end{quote}
%
%------------------------------
\subsubsection{Ʊ��������ޤȤ��}
%------------------------------
�ؿ������ΰ�ĤΡ�Ʊ��������ޤȤ��פ��Ȥ���򼨤������Τ���ˡ��礭��10����
��\tw{a[]}���礭��100������\tw{b[]}��������������Ǽ�������κ��ͤ����ץ���
����ͤ��롣�ꥹ��\ref{prog:find_max_no_func}�Τ褦�ʥץ������Ǥ��롣
%
%
\begin{htmlonly}
\input{program/find_max_no_func_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=�ؿ���Ȥ�ʤ������͸����ץ������,%
 label=prog:find_max_no_func]
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void){
  int a[10], b[100], max_a, max_b, i;

  srand((unsigned) time(NULL));          /* ��ư��˰ۤʤ����ȯ���Τ��� */

  for(i=0; i<10;   i++) a[i]=rand();     /* ���� a[] �������� */
  for(i=0; i<100;  i++) b[i]=rand();     /* ���� b[] �������� */

  /* ---- ���� a[] �κ����͸��� ----- */
  max_a=a[0];
  for(i=1; i<10; i++){
    if(max_a<a[i]) max_a=a[i];
  }

  /* ---- ���� b[] �κ����͸��� ----- */
  max_b=b[0];
  for(i=1; i<100; i++){
    if(max_b<b[i]) max_b=b[i];
  }

  printf("max a=%d\n",max_a);             /* �����Ͱ��� */
  printf("max b=%d\n",max_b);

  return 0;
}
\end{lstlisting}
\end{latexonly}

�ꥹ��\ref{prog:find_max_no_func}��褯����ȡ������ͤ������ʬ�ϤۤȤ��Ʊ��
�Ǥ��롣�����ǡ�������Ĥδؿ��ˤޤȤ�뤳�Ȥ�ͤ��롣�ꥹ��
\ref{prog:find_max_func}�Τ褦�ˤ�����ɤ�������ǡ��ץ�����ब���ä��ꤷ����������
��ȡ������ͤ���륢�르�ꥺ����Ѥ��������Ǥ�ץ��������ѹ����ưפǤ��롣
%
%
\begin{htmlonly}
\input{program/find_max_func_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=�ؿ�����Ѥ��������͸����ץ������,%
 label=prog:find_max_func]
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int find_max(int n, int ix[]);            /* �ץ��ȥ�������� */

/*=========================================================================*/
/*    main �ؿ�                                                            */
/*=========================================================================*/
int main(void){
  int a[10], b[100], max_a, max_b, i;

  srand((unsigned) time(NULL));          /* ��ư��˰ۤʤ����ȯ���Τ��� */

  for(i=0; i<10;   i++) a[i]=rand();     /* ���� a[] �������� */
  for(i=0; i<100;  i++) b[i]=rand();     /* ���� b[] �������� */

  max_a=find_max(10, a);
  max_b=find_max(100,b);

  printf("max a=%d\n",max_a);             /* �����Ͱ��� */
  printf("max b=%d\n",max_b);

  return 0;
}

/*=========================================================================*/
/*    ������õ���δؿ�                                                       */
/*=========================================================================*/
int find_max(int n, int ix[]){
  int i, max;

  /* ---- ���� a[] �κ����͸��� ----- */
  max=ix[0];
  for(i=1; i<n; i++){
    if(max<ix[i]) max=ix[i];
  }
  
  return max;
}
\end{lstlisting}
\end{latexonly}
%
%
%-----------------------------------------------
\subsubsection{������ޤȤ�ƥץ�������ʬ����䤹��}
%-----------------------------------------------
�ؿ��Τ⤦��Ĥε�ǽ�ֽ�����ޤȤ�ƥץ�������ʬ����䤹���פ���Ǥ��롣�ꥹ��
\ref{prog:find_max_no_func}�Υᥤ��ؿ�����ʬ�ν�����ʬ����פ����뤿��ˡ��ؿ�
���Ѥ������ꥹ��\ref{prog:find_max_all_func}�˼�����
%
%
\begin{htmlonly}
\input{program/find_max_full_func_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=������ؿ��ǤޤȤ᤿�ץ������,%
 label=prog:find_max_all_func]
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* ----  �ץ��ȥ�������� -----  */
void make_data(int nx, int ix[], int ny, int iy[]);
int find_max(int n, int ix[]);            
void print_results(int a, int b);

/*=========================================================================*/
/*    main �ؿ�                                                            */
/*=========================================================================*/
int main(void){
  int a[10], b[100], max_a, max_b;


  make_data(10, a, 100, b);                /* ����ǡ������� */

  max_a=find_max(10, a);                   /* �����͸��� */
  max_b=find_max(100,b);

  print_results(max_a, max_b);             /* �����Ͱ��� */

  return 0;
}


/*=========================================================================*/
/*    �ǡ�������                                                            */
/*=========================================================================*/
void make_data(int nx, int ix[], int ny, int iy[]){
  int i;

  srand((unsigned) time(NULL));          /* ��ư��˰ۤʤ����ȯ���Τ��� */

  for(i=0; i<nx;   i++) ix[i]=rand();
  for(i=0; i<ny;  i++) iy[i]=rand(); 
  
}


/*=========================================================================*/
/*    ������õ���δؿ�                                                       */
/*=========================================================================*/
int find_max(int n, int ix[]){
  int i, max;

  /* ---- ���� a[] �κ����͸��� ----- */
  max=ix[0];
  for(i=1; i<n; i++){
    if(max<ix[i]) max=ix[i];
  }
  
  return max;
}


/*=========================================================================*/
/*    ��̤ΰ���                                                             */
/*=========================================================================*/
void print_results(int a, int b){

  printf("max a=%d\n",a);
  printf("max b=%d\n",b);
  
}
\end{lstlisting}
\end{latexonly}
%
%---------------------------------------------------------------------
\subsection{�ؿ��κ�����ȻȤ���}
%---------------------------------------------------------------------
�ؿ���Ȥ�����ˤϡ��ʲ���3�ĤΤ��Ȥ�ɬ�פǤ��롣��\ref{fig:how_to_make_function}��
�ʤ��顢�ʲ������򤻤衣
%
\begin{itemize}
 \item �ץ��ȥ��������
       \begin{itemize}
	\item ����ͤȴؿ�̾�����줫�������񤯡�
	\item �ؿ����������Ȥ��Ƥ��뤫������ѥ��顼�������å����뤿����Ѱդ�
	      ��Ƥ��롣
       \end{itemize}
 \item �ؿ��ƤӽФ�
       \begin{itemize}
	\item �ؿ���ƤӽФ�����ˤϡ�������ȼ�äƴؿ�̾�򥳡��뤹������Ǥ��롣
	\item �ɤ�����Ǥ⡢����⥳���뤹�뤳�Ȥ��Ǥ��롣
       \end{itemize}
 \item �ؿ����
       \begin{itemize}
	\item �ᥤ��ؿ���Ʊ�͡��������Ƥ�񤱤��ɤ���
	\item �ƤӽФ�������Υǡ����ϰ������Ϥ���롣
	\item \tw{return}ʸ�ǸƤӽФ����ء��ǡ��������롣���ν����ϡ�����2�Ĥ�
	      �Ѱդ���Ƥ��롣�ѿ��Τߤ⼰�ȸ��ʤ��롣
	      \begin{itemize}
	       \item ���̵������ˡ��\tw{return ��;}
	       \item ����դ�����ˡ��\tw{return(��);}
	      \end{itemize}
       \end{itemize}
\end{itemize}
%
\begin{figure}[hbtp]
   \begin{center}
    \includegraphics[keepaspectratio, scale=1.0]
    {figure/how_to_make_function.eps}
    \caption{�ؿ���Ȥä��ץ������δ���Ū�ʽ���}
    \label{fig:how_to_make_function}
   \end{center}
\end{figure}
%
%---------------------------------------------------------------------
\subsection{�ǡ������Ϥ���ˡ(p.214)}
%---------------------------------------------------------------------
�ؿ���Ȥäƽ�����Ԥ���硢�ƤӽФ�¦�δؿ��ȤȸƤӽФ����¦�δؿ��Ȥǥǡ�����
�����Ϥ���ɬ�פǤ��롣�ƤӽФ�¦����(���뤤���ѿ�)���Ѱդ����ƤӽФ����¦���ѿ�
���Ѱդ��롣�ƤӽФ�¦���ͤ�ƤӽФ����¦���ѿ��˥��ԡ����뤳�Ȥǡ��ǡ����μ���
�Ϥ����Ԥ��롣�ƤӽФ�¦�δؿ�����(�ѿ�)��°������ƤӽФ����¦�δؿ����ѿ���
�������ȸ�������\ref{fig:how_to_make_function}�˼����Ƥ���Τǡ��°����Ȳ�������
�㤤�����򤻤衣

�ؿ��ؤΥǡ������Ϥ����ˡ�2�Ĥ���ˡ������(�̾�����Ϥ�)��
%
\begin{list}{}{\leftmargin=9zw \rightmargin=2zw \labelsep=1zw
 \labelwidth=9zw \itemindent=0pt}
 \item[\bf{���Ϥ�}]�ƤӽФ�¦�ȸƤФ��¦�δؿ����ơ��ѿ����Ѱդ��롣������¦��
		      �ѿ����ͤϡ��°�����¦���ѿ����ͤΥ��ԡ��Ȥʤ롣�ƤФ줿��
		      �����ѿ����ͤ��Ѥ��Ƥ⡢�Ƥ� �Ф���¦���ѿ��ͤˤϡ��ƶ���
		      �ʤ���
 \item[\bf{���ɥ쥹�Ϥ�}]�ƤӽФ�¦�μ°����ϡ����ɥ쥹�Ǥ����ƤФ��¦�ϡ��� ��
		      �󥿡����Ѱդ��ơ��°����Υ��ɥ쥹��������ޤ����ƤФ줿
		      �� ���������򤹤�ȡ��ƤӽФ���¦�μ°������ѿ��ˤ�ƶ���
		      ����ޤ���
\end{list}

����Ǥϡ��ǡ����μ����Ϥ��ˤĤ��ơ����ʽ�򸫤ʤ��顢�������衣
%
%------------------------------------
\subsubsection{�ͤˤ��ƤӽФ�(p.214)}
%------------------------------------
�ʲ������������»ܤ��衣
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]main�ؿ����顢����[��]���ͤ�ؿ����Ϥ��ơ��ץ�����ޡ�
			 �����δؿ��ǡ�$\sin$��$\cos$��$\tan$��׻����ơ�������
			 �롣���Υץ�������������衣��������\tw{main}�ؿ��Ƿ�
			 ���֤�ʸ��Ȥ���0��360[��]�ޤǡ�1�ٴֳ֤ǥǡ��������뤳
			 �ȡ��ҥ�Ȥϰʲ����̤ꡣ
			 \begin{itemize}
			  \item \tw{\#include <math.h>}��񤯡����Ѵؿ��Τ褦��
				���شؿ���Ȥ���硢\tw{math.h}�Ȥ����إå����ե�
				���뤬ɬ�פǤ��롣
			  \item ���Ѵؿ��ϡ�\tw{sin(a),cos(a),tan(a)}�Ƚ񤱤з�
				���Ǥ��롣ñ�̤ϡ�[�饸����]�Ǥ��롣
			  \item ����ѥ���ˤϡ�\tw{-lm}���ץ����ɬ�פ�
				���롣���Υ��ץ����Ͽ��شؿ���Ȥ��Ȥ���ɬ�פ�
				���롣�ºݤˤϼ��Τ褦�ˤ��롣C����Υ������ե�
				���뤬\tw{hogehoge.c}�ǡ�������μ¹ԥե����뤬
				\tw{fugafuga}�Ǥ��롣\\
				\tw{gcc -lm -o fugafuga hogehoge.c}
			 \end{itemize}
  \item[\textbf{[����2]}]�ꥹ��\ref{prog:no_swap}���ѿ�\tw{i,j}���ͤ������ؤ��
			 �ʤ���ͳ��ͤ��衣
 \end{itemize}
\end{quote}
%
\begin{htmlonly}
\input{program/not_swap_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=���Ϥ����Ѥ������ᡢ�ͤ��򴹤���ʤ���,label=prog:no_swap]
#include <stdio.h>

void swap(int i, int j);

int main(){
  int a=2, b=3;

  swap(a, b);

  printf("a=%d b=%d\n", a, b);

  return 0;
}


void swap(int i, int j){
  int temp;

  temp = i;
  i=j;
  j=temp;
}
\end{lstlisting}
\end{latexonly}
%
%-----------------------------------------
\subsubsection{���ɥ쥹�ˤ��ƤӽФ�(p.216)}
%-----------------------------------------
�ʲ������������»ܤ��衣
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]�ꥹ��\ref{prog:swap}���ѿ�\tw{i,j}���ͤ������ؤ����ͳ
			 ��ͤ��衣
 \end{itemize}
\end{quote}
%
\begin{htmlonly}
\input{program/swap_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=���ɥ쥹�Ϥ����Ѥ������ᡢ�ͤ��򴹤�����,label=prog:swap]
#include <stdio.h>

void swap(int *i, int *j);

int main(){
  int a=2, b=3;

  swap(&a, &b);

  printf("a=%d b=%d\n", a, b);

  return 0;
}


void swap(int *i, int *j){
  int temp;

  temp = *i;
  *i=*j;
  *j=temp;
}
\end{lstlisting}
\end{latexonly}
%
%------------------------------------
\subsubsection{�켡��������Ϥ�(p.218)}
%------------------------------------
�ʲ������������»ܤ��衣
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]���ǿ���10000�Ĥΰ켡������ˡ�������������Ǽ���ơ���
			 �κ����ͤ����ץ�������������衣
			 \begin{itemize}
			  \item �����ͤ����롼����ϡ���Ω�δؿ��Ȥ��衣
			  \item ���δؿ��Ǥϡ������ͤν��Ϥ�Ԥ����ȡ�
			 \end{itemize}
 \end{itemize}
\end{quote}
%
%------------------------------------
\subsubsection{¿����������Ϥ�(p.220)}
%------------------------------------
�ʲ������������»ܤ��衣
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]���ǿ���1000$\times$1000���󼡸�����ˡ�������������
			 Ǽ���ơ����κ����ͤ����ץ�������������衣
			 \begin{itemize}
			  \item �����ͤ����롼����ϡ���Ω�δؿ��Ȥ��衣
			  \item ���δؿ��Ǥϡ������ͤν��Ϥ�Ԥ����ȡ�
			 \end{itemize}
 \end{itemize}
\end{quote}
%
%---------------------------------------------------------------------
\subsection{����ͤ��֤���ˡ(p.222)}
%---------------------------------------------------------------------
%------------------------------------
\subsubsection{1�Ĥ�����ͤ��֤�(p.222)}
%------------------------------------
�ʲ������������»ܤ��衣
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]���ʽ����򻲹ͤˤ��ơ�
  \begin{align*}
   f(x)=x-\frac{x^3}{6}+\frac{x^5}{120}-\frac{x^7}{5040}
  \end{align*}
			 ��׻�����ؿ���������衣�����ơ��ᥤ��롼����ǡ�
			 $x=0$��$x=3.14$�ޤǡ�180��ʬ�����ͤ���衣�����ͤϲ�
			 ��?�����ջ���ϰʲ����̤ꡣ
			 \begin{itemize}
			  \item \tw{n}��ϡ�\tw{pow}�ȸ����ؿ���Ĥ������Ȥ����ϡ�
				���ʽ��P.437�򸫤衣
			  \item \tw{pow}��Ȥ�����ˤϡ�
				\tw{\#include <math.h>}��ɬ�פǤ��롣
				����˥���ѥ��뤹��Ȥ��ˤϡ�\tw{-lm}���ץ����
				��ɬ�פǤ��롣
			 \end{itemize}
 \end{itemize}
\end{quote}
%
%
%------------------------------------
\subsubsection{ʣ���������(p.223)}
%------------------------------------
�ʲ������������»ܤ��衣
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]$\sin{2\theta}$��$2\sin\theta\cos\theta$���ͤ�0��360��1
			 [��]�ֳ֤ǡ���׻�����ץ�������������衣
			 \begin{itemize}
			  \item �������������λ��Ѵؿ����ͤϡ���Ĥδؿ��Ƿ׻�
				���뤳�ȡ�
			  \item �ץ��ȥ����פ�����ϡ��ʲ��Τ褦�ˤ��뤳�ȡ�
				\begin{quote}
				 \setlength{\baselineskip}{12pt}
				 \begin{verbatim}
				void keisan(double theta, double *s1, *s2);
				 \end{verbatim}
				\end{quote}
			 \end{itemize}
 \end{itemize}
\end{quote}
%
%
%---------------------------------------------------------------------
\subsection{����μ����Ϥ�}
%---------------------------------------------------------------------
����μ����Ϥ��ϡ��ѿ��ξ��Ȱۤʤ롣1�ѿ��ξ�硢�°����Υ��ԡ������������Ϥ�
��뤳�Ȥϡ������˽Ҥ٤��̤�Ǥ���(���Ϥ�)�����������ä������Ȥˡ�����ξ�硢��
�����Υ��ɥ쥹�������������Ϥ���롣FORTRAN��Ʊ���Ǥ��롣�ʤ������Τ褦�������줬
�����뤫�Ȥ����ȡ�
%
\begin{itemize}
\item �����Ȥ���硢���Υ��������礭����礬¿�����礭������򥳥ԡ����Ʋ���
      �����Ϥ��ȡ����˥����Ȥ������롣�����ȤȤ����Τϡ�CPU���֤���꡼�Τ�
      �ȡ��������äơ�����Υ��ԡ����ԷкѤʤΤǡ��򤱤ʤ��ƤϤʤ�ʤ���
\end{itemize}
%
�Ȥ������Ȥ���ͳ�Τ褦�Ǥ��롣���ͤǤ��Τ褦�ˤʤäƤ���Τǻ����ʤ������������
���Ϥ̤��ʤ��������դ���C������񤷤��Ȼפ��ͤ��ФƤ��븶���ˤʤäƤ����ǽ����
���롣

�����դΤ��Ȥ�ꥹ��\ref{prog:func_array}�Ǥߤ롣�ؿ�\tw{transpose}�ǹ����ž��
\footnote{�Ԥ���������ؤ��뤳�ȡ�}���Ƥ��롣\tw{main}�ؿ���\tw{transpose(a)}�ǡ�
�ؿ�\tw{transpose}������\tw{a[5][5]}����Ƭ���ɥ쥹���Ϥ��Ƥ��롣����ΤȤ����ǳ�
�������褦�ˡ�����̾�ϡ������������Ƭ���ɥ쥹��ɽ����

��Ƭ���ɥ쥹�ϡ�transpose�ؿ��Ǥϡ�
%
\begin{quote}
 \setlength{\baselineskip}{12pt}
 \begin{verbatim}
	transpose(int x[][5])
�� \end{verbatim}
\end{quote}
%
�η��Ǽ�����롣���ɥ쥹���Ϥ��줿�Τǡ��ݥ��󥿡��Ǽ�����뤳�Ȥ����뤬������
����ȡ��塹�������Ѥˤʤ�Τ��̾���򤱤롣�������������ϡ�����Ȥ���
����������������ɤ���

�����ǡ��������������礭������\tw{x[][5]}�Ȥ��٤Ƶ��Ҥ���Ƥ��ʤ�������ΤȤ����ǡ�
�ؽ������褦�ˡ��������ϡ����������򥢥��������뤿��Υ��ɥ쥹�Υ��ե��åȷ׻�
���Ѥ��롣�������äơ����ե��åȷ׻������Ѥʰ��ֺ��Υ������Ͻ񤫤ʤ��Ƥ��ɤ�����
������񤤤Ƥ��ɤ���tw{x[5][5]}�Ǥ�����Ϥʤ������ְ㤨���Ψ��������Τ��̾�Ͻ�
�ʤ���
��

��������������ΤȤ��ϡ�����ѥ��顼�ϥ��꡼����ݤ��뤿��ˡ��������Υ�������
ɬ�פǤ��롣�������äơ�\tw{x[5][5]}�Τ褦�ˤ��٤Ƶ��Ҥ��ʤ��ƤϤʤ�ʤ������Τ褦��
��ͳ���顢��ä�¿�����������㤨�С�\tw{x[100][100][5][5]}�Τ褦�������hogehoge��
��¦�Ǽ�������硢\tw{hogehoge(int x[][100][5][5])}�Ƚ񤯡���ü�Τ߾�ά�ĤǤ��롣

%
\begin{htmlonly}
\input{program/not_swap_c.tex}
\end{htmlonly}
%
\begin{latexonly}
\begin{lstlisting}[caption=����μ����Ϥ���ˡ,label=prog:func_array]
#include <stdio.h>
void transpose(int x[][5]);

/* ----------------- main ----------------------*/
int main(void){
  int i;
  int a[5][5]
    ={{11, 12, 13, 14, 15},
      {21, 22, 23, 24, 25},
      {31, 32, 33, 34, 35},
      {41, 42, 43, 44, 45},
      {51, 52, 53, 54, 55}};
  
  for(i=0; i<=4; i++){
    printf("%d %d %d %d %d \n",
	   a[i][0], a[i][1], a[i][2], a[i][3], a[i][4]);
  }
  
  transpose(a);
  printf("\n");
  
  for(i=0; i<=4; i++){
    printf("%d %d %d %d %d \n",
	   a[i][0], a[i][1], a[i][2], a[i][3], a[i][4]);
  }

  return 0;
  
}

/* -------------- transpose function -------------*/
void transpose(int x[][5])
{
  int i, j, temp;
  
  for(i=0; i<=3; i++){
    for(j=i+1; j<=4; j++){
      temp = x[i][j];
      x[i][j] = x[j][i];
      x[j][i] = temp;
    }
  }
}
\end{lstlisting}
\end{latexonly}
%
\fbox{���}
\begin{quote}
 \setlength{\baselineskip}{12pt}
 \begin{verbatim}
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55

11 21 31 41 51
12 22 32 42 52
13 23 33 43 53
14 24 34 44 54
15 25 35 45 55
 \end{verbatim}
\end{quote}
%---------------------------------------------------------------------
\subsection{�������Х��ѿ��ˤ��ǡ����μ����Ϥ�(p.228)}
%---------------------------------------------------------------------
�������Х��ѿ���Ȥ��ȴؿ�����Ω��������졢�����ѤΤ����硢�پ�򤭤�������Ω
���ι⤤�ؿ��ϥ��ԡ�����ȡ����Τޤ�¾�Υץ������Ǥ�Ȥ��롣�������Х��ѿ����
���ȡ��ؿ��Τߤʤ餺���������Х��ѿ��⥳�ԡ�����ɬ�פ������롣����ˡ��������Х�
�ѿ������Ƥδؿ��ǻȤ��뤿�ᡢ̾���ξ��ͤ�ͤ��ʤ��ƤϤʤ�ʤ����礭�ʥץ������
�ˤʤ�ȡ���������Ѥ�����������롣����ʬ����ˤ����Х��θ����Ȥʤ�Τǡ�����
�դ��ʤ��ƤϤʤ餤��

���ιֵ��ǽ�����������٤�û���ץ������ʤ�С��������Х��ѿ���ȤäƤ��ɤ�����
�����ष���ݥ��󥿡���ʬ����ʤ���Ǻ����ϡ��������Х��ѿ���Ȥä������ץ�����
���ڤ�����ɤ���������
%
\begin{quote}
 \begin{itemize}
  \item[\textbf{[����1]}]�ꥹ��\ref{prog:swap}�Υץ�������ݥ��󥿡���Ȥ�ʤ�
			 �ǥ������Х��ѿ���Ȥä��ץ������˽񤭴����衣
 \end{itemize}
\end{quote}
%
%---------------------------------------------------------------------
\subsection{\tw{main}�ؿ��ؤΰ����Ϥ�(p.228)}
%---------------------------------------------------------------------
���ʽ�˽񤫤�Ƥ��뤳�Υƥ��˥å��ϡ��褯�Ȥ��롣���������ֵܹ��ǤϤ��ޤ�Ȥ�
�ʤ��Τ��������ʤ�����̣�Τ���Ԥϡ���ʬ��Ĵ�٤衣
%
%
%======= ����ʸ�� ====================================================
\bibliographystyle{junsrt}
\bibliography{reference} 
%=====================================================================
\end{document}
