<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www23.atwiki.jp/homework/">
    <title>C/C++の宿題を片付けます@wiki</title>
    <link>http://www23.atwiki.jp/homework/</link>
    <description>C/C++の宿題を片付けます@wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-01-08T16:20:25+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/1.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/24.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/4.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/27.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/14.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/30.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/25.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/29.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/28.html" />
                <rdf:li rdf:resource="http://www23.atwiki.jp/homework/pages/26.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/1.html">
    <title>トップページ</title>
    <link>http://www23.atwiki.jp/homework/pages/1.html</link>
    <description>
      #splitinclude(カレンダー,最近の宿題)

----
#splitinclude(よくある問題)

#search()

----
【現行スレ】
C/C++の宿題片付けます 155代目
http://toro.2ch.net/test/read.cgi/tech/1325685876/

【前スレ】
C/C++の宿題片付けます 154代目
http://toro.2ch.net/test/read.cgi/tech/1322562648/

C/C++の宿題片付けます 153代目
http://hibari.2ch.net/test/read.cgi/tech/1320365280/

C/C++の宿題片付けます 152代目
http://hibari.2ch.net/test/read.cgi/tech/1312201995/

C/C++の宿題片付けます 151代目 
http://hibari.2ch.net/test/read.cgi/tech/1311089619/

C/C++の宿題片付けます 150代目
http://hibari.2ch.net/test/read.cgi/tech/1308749241/

C/C++の宿題片付けます 149代目 
http://hibari.2ch.net/test/read.cgi/tech/1307166756/

C/C++の宿題片付けます 148代目 
http://hibari.2ch.net/test/read.cgi/tech/1305867431/

C/C++の宿題片付けます 147代目
http://hibari.2ch.net/test/read.cgi/tech/1301553333/

C/C++の宿題片付けます 146代目
http://hibari.2ch.net/test/read.cgi/tech/1296387672/

C/C++の宿題片付けます 145代目
http://hibari.2ch.net/test/read.cgi/tech/1294061094/

C/C++の宿題片付けます 144代目
http://hibari.2ch.net/test/read.cgi/tech/1291471791/

C/C++の宿題片付けます 143代目 
http://hibari.2ch.net/test/read.cgi/tech/1289913298/

C/C++の宿題片付けます 142代目
http://hibari.2ch.net/test/read.cgi/tech/1288531658/

C/C++の宿題片付けます 141代目 
http://hibari.2ch.net/test/read.cgi/tech/1286978599/

C/C++の宿題片付けます 140代目
http://hibari.2ch.net/test/read.cgi/tech/1284632294/

C/C++の宿題片付けます 139代目
http://hibari.2ch.net/test/read.cgi/tech/1280653311/

C/C++の宿題片付けます 138代目
http://pc12.2ch.net/test/read.cgi/tech/1279286575/

C/C++の宿題片付けます 137代目
http://pc12.2ch.net/test/read.cgi/tech/1276810079/

C/C++の宿題片付けます 136代目
http://pc12.2ch.net/test/read.cgi/tech/1274827528/

C/C++の宿題片付けます 135代目
http://pc12.2ch.net/test/read.cgi/tech/1269438098/

C/C++の宿題片付けます 134代目
http://pc12.2ch.net/test/read.cgi/tech/1263824755/

C/C++の宿題片付けます 133代目
http://pc12.2ch.net/test/read.cgi/tech/1260532772/

C/C++の宿題片付けます 132代目
http://pc12.2ch.net/test/read.cgi/tech/1258158172/

C/C++の宿題片付けます 131代目 
http://pc12.2ch.net/test/read.cgi/tech/1255709298/

C/C++の宿題片付けます 130代目
http://pc12.2ch.net/test/read.cgi/tech/1250204272/

C/C++の宿題片付けます 129代目
http://pc12.2ch.net/test/read.cgi/tech/1247438792/

C/C++の宿題片付けます 128代目 
http://pc12.2ch.net/test/read.cgi/tech/1245853701/

C/C++の宿題片付けます 127代目
http://pc12.2ch.net/test/read.cgi/tech/1244449887/

C/C++の宿題片付けます 126代目
http://pc12.2ch.net/test/read.cgi/tech/1242655611/

C/C++の宿題片付けます 125代目 
http://pc12.2ch.net/test/read.cgi/tech/1240226599/

C/C++の宿題片付けます 124代目
http://pc11.2ch.net/test/read.cgi/tech/1235927586/

C/C++の宿題片付けます 122代目 （123代目）
http://pc11.2ch.net/test/read.cgi/tech/1232029287/

C/C++の宿題を片付けます　122代目
http://pc11.2ch.net/test/read.cgi/tech/1232001038/

C/C++の宿題を片付けます　121代目
http://pc11.2ch.net/test/read.cgi/tech/1230678123/

C/C++の宿題を片付けます　120代目
http://pc11.2ch.net/test/read.cgi/tech/1229424329/

C/C++の宿題を片付けます　119代目
http://pc11.2ch.net/test/read.cgi/tech/1228313292/

C/C++の宿題を片付けます　118代目
http://pc11.2ch.net/test/read.cgi/tech/1226847424/

C/C++の宿題を片付けます　117代目
http://pc11.2ch.net/test/read.cgi/tech/1225320579/

C/C++の宿題を片付けます　116代目
http://pc11.2ch.net/test/read.cgi/tech/1222813731/

C/C++の宿題を片付けます　115代目
http://pc11.2ch.net/test/read.cgi/tech/1217741118/

C/C++の宿題を片付けます　114代目
http://pc11.2ch.net/test/read.cgi/tech/1216746971/

C/C++の宿題を片付けます　113代目
http://pc11.2ch.net/test/read.cgi/tech/1215986178/

C/C++の宿題を片付けます　112代目
http://pc11.2ch.net/test/read.cgi/tech/1215439445/

C/C++の宿題を片付けます　111代目
http://pc11.2ch.net/test/read.cgi/tech/1214563642/

C/C++の宿題を片付けます　110代目
http://pc11.2ch.net/test/read.cgi/tech/1213796455/

C/C++の宿題を片付けます　109代目
http://pc11.2ch.net/test/read.cgi/tech/1212895856/

C/C++の宿題を片付けます　108代目 
http://pc11.2ch.net/test/read.cgi/tech/1211980711/

C/C++の宿題を片付けます 107代目
http://pc11.2ch.net/test/read.cgi/tech/1211006255/

C/C++の宿題を片付けます 106代目 
http://pc11.2ch.net/test/read.cgi/tech/1209810861/

C/C++の宿題を片付けます 105代目
http://pc11.2ch.net/test/read.cgi/tech/1208268461/

C/C++の宿題を片付けます 104代目
http://pc11.2ch.net/test/read.cgi/tech/1202135539/

C/C++の宿題を片付けます 103代目
http://pc11.2ch.net/test/read.cgi/tech/1200318925/

C/C++の宿題を片付けます 102代目
http://pc11.2ch.net/test/read.cgi/tech/1199515728/

C/C++の宿題を片付けます 101代目
http://pc11.2ch.net/test/read.cgi/tech/1197132472/

C/C++の宿題を片付けます 100
http://pc11.2ch.net/test/read.cgi/tech/1195668114/

C/C++の宿題を片付けます 99代目
http://pc11.2ch.net/test/read.cgi/tech/1194262698/

C/C++の宿題を片付けます 97代目 （98代目）
http://pc11.2ch.net/test/read.cgi/tech/1193150915/

C/C++の宿題を片付けます 97代目
http://pc11.2ch.net/test/read.cgi/tech/1191937213/

C/C++の宿題を片付けます 96代目
http://pc11.2ch.net/test/read.cgi/tech/1190331997/

C/C++の宿題を片付けます 95代目
http://pc11.2ch.net/test/read.cgi/tech/1187944110/

C/C++の宿題を片付けます 94代目
http://pc11.2ch.net/test/read.cgi/tech/1185452895/

C/C++の宿題を片付けます 93代目
http://pc11.2ch.net/test/read.cgi/tech/1184506311/

C/C++の宿題を片付けます 92代目
http://pc11.2ch.net/test/read.cgi/tech/1183511364/

C/C++の宿題を片付けます 91代目
http://pc11.2ch.net/test/read.cgi/tech/1182607405/

C/C++の宿題を片付けます 90代目
http://pc11.2ch.net/test/read.cgi/tech/1181802185/

C/C++の宿題を片付けます 89代目
http://pc11.2ch.net/test/read.cgi/tech/1181087371/

C/C++の宿題を片付けます 88代目
http://pc11.2ch.net/test/read.cgi/tech/1180070116/

C/C++の宿題を片付けます 87代目
http://pc11.2ch.net/test/read.cgi/tech/1179025919/

C/C++の宿題を片付けます 86代目
http://pc11.2ch.net/test/read.cgi/tech/1176996941/

C/C++の宿題を片付けます 85代目
http://pc11.2ch.net/test/read.cgi/tech/1175129517/

C/C++の宿題を片付けます 84代目
http://pc11.2ch.net/test/read.cgi/tech/1172981618/

C/C++の宿題を片付けます 83代目
http://pc10.2ch.net/test/read.cgi/tech/1170830498/

C/C++の宿題を片付けます 82代目
http://pc10.2ch.net/test/read.cgi/tech/1169575464/

C/C++の宿題を片付けます 81代目
http://pc10.2ch.net/test/read.cgi/tech/1168663908/

C/C++の宿題を片付けます 80代目
http://pc10.2ch.net/test/read.cgi/tech/1166969820/

C/C++の宿題を片付けます 79代目
http://pc8.2ch.net/test/read.cgi/tech/1165943509/

C/C++の宿題を片付けます 78代目
http://pc8.2ch.net/test/read.cgi/tech/1165190320/

C/C++の宿題を片付けます 77代目
http://pc8.2ch.net/test/read.cgi/tech/1164079451/
//リンク切れ
//【過去ログ検索サイト】
//http://chomework.sakura.ne.jp/

【C/C++の宿題のまとめ@Wiki】
http://www6.atwiki.jp/c-cpp_homework/

----
#comment_num2

----    </description>
    <dc:date>2012-01-08T16:20:25+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/24.html">
    <title>2008-07-02/宿題03</title>
    <link>http://www23.atwiki.jp/homework/pages/24.html</link>
    <description>
      出題内容
&amp;memox(cols=70,rows=10,submit=更新&lt;&gt;[1] 課題：日数チェックプログラム\n[2] 内容：西暦と月を入力し、その月の日数を表示するプログラムを作成しなさい。\n　　　　　尚、日数チェックはnisuu_chk（）関数及び、uru_chk（）関数を用いること。\n　　　　　＜nisuu_chk（）関数の仕様＞\n　　　　　西暦と月のデータ（int型）を受取り、その月の日数をint型の値で返す関数\n　　　　　注意：二月の日数は閏年でない時は２８、閏年では２９となる（uru_chk（）　　　　　　　　関数を利用する\n　　　　　ここから、わかりません。\n[3] 環境\n　[3.1] OS： （WindowsXPかVista）\n　[3.2] \n　[3.3] 言語： （C++）\n[4] 期限：9月15日まで\n[5])

ソースコード
&amp;memox(cols=70,rows=15,submit=更新&lt;&gt;#define  CRT_SECURE_NO_DEPRECATE\n#include  &lt;stdio.h&gt;\nint  nisuu_chk（int,int）;\nint uru_chk（int,int）;\nvoid  main（void）\n{\n	int  yy,mm;\n	char  dsp[4]={28,29,30,31};\n	printf（&quot;年（西暦:4桁）を入力して下さい&quot;）;\n	scanf（&quot;%d&quot;,&amp;yy）;\n	printf（&quot;月を入力して下さい&quot;）;\n	scanf（&quot;%d&quot;,&amp;mm）;\n	printf（&quot;%d年%d月は%d日まであります&quot;,yy,mm,nisuu_chk（yy,mm））;\n})

作業にかかる場合、断念する場合などかならず↓で宣言しましょう。
#comment(below)    </description>
    <dc:date>2011-08-02T19:05:33+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/4.html">
    <title>テンプレ</title>
    <link>http://www23.atwiki.jp/homework/pages/4.html</link>
    <description>
      あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。 
【質問者へ】 
回答者の便宜のため、質問の際は以下を行うことを推奨します。 
・質問は【質問テンプレ】を利用してください。 
・問題文は、出題されたまま全文を書いてください。 
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 
【質問テンプレ】 
[1] 授業単元： 
[2] 問題文(含コード&amp;リンク)： 
[3] 環境 
　[3.1] OS： (Windows/Linux/等々) 
　[3.2] コンパイラ名とバージョン： (gcc 3.4 VC 6.0等) 
　[3.3] 言語： (C/C++/どちらでも可 のいずれか) 
[4] 期限： ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 
[5] その他の制限： (どこまで習っているか、標準ライブラリは使ってはいけない等々) 

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利　回答者もコードが長ければここに) 
//http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html 
【過去ログ検索】　　　　　　　　http://chomework.sakura.ne.jp/ 
【wiki】　　　　　　　　　　　　　　 http://www23.atwiki.jp/homework/ 

【前スレ】
&lt;前スレタイトルをここに書く&gt;
&lt;前スレURLをここに書く&gt;    </description>
    <dc:date>2010-12-01T00:42:30+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/27.html">
    <title>よくある問題/素数</title>
    <link>http://www23.atwiki.jp/homework/pages/27.html</link>
    <description>
      *素数
２以上の整数を読み込み素数であるかどうかを判定する文をつくる

C
 #include&lt;stdio.h&gt;
 
 int isPrime( int n )
 {
   int i;
   if( n &lt; 2 ) return 0;
   if( n == 2 ) return 1;
   if( n%2 == 0 ) return 0;
   for( i = 3; i * i &lt;= n; i += 2 ) if( n%i == 0 ) return 0;
   return 1;
 }
 
 int main() {
   int n;
   scanf(&quot;%d&quot;, &amp;n);
   if(isPrime(n)){
     printf(&quot;素数\n&quot;);
   }else{
     printf(&quot;素数ではない\n&quot;);
   }
   return 0;
 }
----    </description>
    <dc:date>2010-12-01T00:38:41+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/14.html">
    <title>Cの宿題/よくある問題</title>
    <link>http://www23.atwiki.jp/homework/pages/14.html</link>
    <description>
      **階乗を求める
ループで求める
 #include&lt;stdio.h&gt;
 unsigned int factorial( unsigned int n)
 {
   unsigned int result = 1;
   while(n != 0) result *= n, --n;
   return result
 }
 int main( void )
 {
   int n;
   printf(&quot;nを入力：&quot;);
   scanf(&quot;%d&quot;, &amp;n);
   printf(&quot;%dの階乗は%d\n&quot;, n, factorial(n));
   return 0;
 }
----
**階乗を求める(再帰)
再帰で求める
 #include&lt;stdio.h&gt;
 unsigned int factorial( unsigned int n)
 {
   return n == 0 ? 1 : n * factorial(n-1);
 }
 int main( void )
 {
   int n;
   printf(&quot;nを入力：&quot;);
   scanf(&quot;%d&quot;, &amp;n);
   printf(&quot;%dの階乗は%d\n&quot;, n, factorial(n));
   return 0;
 }
----
**素数判定
http://pc8.2ch.net/test/read.cgi/tech/1165190320/146
２以上の整数を読み込み素数であるかどうかを判定する文をつくる
// #include&lt;stdio.h&gt;
// int IsPrime(int n){
//   int i;
//   if(n&lt;2)
//     return 0;
//   else if(n==2)
//     return 1;
//   if(n%2==0)
//     return 0;
//   for(i=3;i*i&lt;=n;i+=2)
//     if(n%i==0)
//       return 0;
//   return 1;
// }
 #include&lt;stdio.h&gt;
 #include&lt;stdbool.h&gt;
 
 typedef unsigned int uint;
 bool isPrime( uint n )
 {
	uint i;
	if( n &lt; 2 ) return false;
	if( n == 2 ) return true;
	if( n%2 == 0 ) return false;
	for( i = 3; i * i &lt;= n; i += 2 ) if( n%i == 0 ) return false;
	return true;
 }
 
 int main() {
   int n;
   scanf(&quot;%d&quot;, &amp;n);
   if(isPrime(n)){
     printf(&quot;素数\n&quot;);
   }else{
     printf(&quot;素数ではない\n&quot;);
   }
   return 0;
 }
----
**FizzBuzz問題
 #include&lt;stdio.h&gt;
 
 char *fzzBuzz( int n )
 {
    static char buffer[BUFSIZ];
    return n % 15 == 0 ? &quot;FizzBuzz&quot;:
		   n % 3  == 0 ? &quot;Fizz&quot;:
		   n % 5  == 0 ? &quot;Buzz&quot;:
		   (sprintf(buffer,&quot;%d&quot;,n), buffer);
 }
 
 int main()
 {
    for( int i = 0; i != 100; ++i )
    {
        fputs( fizzBuzz( i ), stdout );
    }
    return 0;
 }

 #include&lt;stdio.h&gt;
 int main(){
   int i, f;
   for(i=1; i&lt;=100; ++i){
         f = 1;
         if(i%3 == 0){ printf(&quot;Fizz&quot;); f = 0; }
         if(i%5 == 0){ printf(&quot;Buzz&quot;); f = 0; }
         if(f){ printf(&quot;%d&quot;, i); }
         putchar(&#039;\n&#039;);
     }
     return 0;
 }    </description>
    <dc:date>2010-12-01T00:37:31+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/30.html">
    <title>よくある問題/二進数</title>
    <link>http://www23.atwiki.jp/homework/pages/30.html</link>
    <description>
      *二進数
十進数を二進数に変換して出力

C
 #include&lt;stdio.h&gt;
 void BinDisp(int n){
   if(n &gt; 1) BinDisp(n / 2);
   printf(&quot;%d&quot;, n % 2);
 }
 int main(){
   BinDisp(10);
   printf(&quot;\n&quot;);
 }
----    </description>
    <dc:date>2010-08-05T23:07:44+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/25.html">
    <title>よくある問題</title>
    <link>http://www23.atwiki.jp/homework/pages/25.html</link>
    <description>
      * よくある問題
-[[素数&gt;よくある問題/素数]] / [[ソート&gt;よくある問題/ソート]] / [[カレンダー&gt;よくある問題/カレンダー]]
-[[組合せ&gt;よくある問題/組合せ]] / [[階乗&gt;よくある問題/階乗]] / [[平方根&gt;よくある問題/平方根]]
-[[リスト&gt;よくある問題/リスト]] / [[二進数&gt;よくある問題/二進数]]    </description>
    <dc:date>2010-08-05T23:06:51+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/29.html">
    <title>よくある問題/階乗</title>
    <link>http://www23.atwiki.jp/homework/pages/29.html</link>
    <description>
      *階乗

----
**ループで階乗を求める

C
 #include&lt;stdio.h&gt;
 unsigned int factorial( unsigned int n)
 {
   unsigned int result = 1;
   while(n != 0) result *= n, --n;
   return result
 }
 int main( void )
 {
   int n;
   printf(&quot;nを入力：&quot;);
   scanf(&quot;%d&quot;, &amp;n);
   printf(&quot;%dの階乗は%d\n&quot;, n, factorial(n));
   return 0;
 }
----
**再帰で階乗を求める

C
 #include&lt;stdio.h&gt;
 unsigned int factorial( unsigned int n)
 {
   return n == 0 ? 1 : n * factorial(n-1);
 }
 int main( void )
 {
   int n;
   printf(&quot;nを入力：&quot;);
   scanf(&quot;%d&quot;, &amp;n);
   printf(&quot;%dの階乗は%d\n&quot;, n, factorial(n));
   return 0;
 }    </description>
    <dc:date>2010-08-05T23:04:30+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/28.html">
    <title>よくある問題/ソート</title>
    <link>http://www23.atwiki.jp/homework/pages/28.html</link>
    <description>
      *ソート

----
**バブルソート（基本交換法、隣接交換法）
安定な内部ソート。O(n^2)

C
 #include&lt;stdio.h&gt;
 int main(){
   int i, j, temp, ptr[] = {8,4,3,7,6,5,2,1}, n = 8;
 
   /* Bubble sort */
   for(i = 1; i &lt;= n-1; ++i)
     for(j = 0; j &lt; n-i; ++j)
       if(ptr[j] &gt; ptr[j+1]){
         temp = ptr[j];
         ptr[j] = ptr[j+1];
         ptr[j+1] = temp;
       }
 
   for(i = 0; i &lt; n; ++i) printf(&quot;%d &quot;, ptr[i]);
   return 0;
 }
----
**挿入ソート（インサーションソート、基本挿入法）
安定な内部ソート。O(n^2)

C
 #include&lt;stdio.h&gt;
 int main(){
   int i, j, temp, ptr[] = {8,4,3,7,6,5,2,1}, n = 8;
 
   /* Insertion sort */
   for(i=1; i&lt;n; ++i)
     for(j=i; j&gt;0 &amp;&amp; ptr[j-1]&gt;ptr[j]; --j){
         temp = ptr[j];
         ptr[j] = ptr[j-1];
         ptr[j-1] = temp;
     }
 
   for(i = 0; i &lt; n; ++i) printf(&quot;%d &quot;, ptr[i]);
   return 0;
 }
----
**選択ソート（セレクションソート）
内部ソートだが、安定ソートではない。O(n^2)

C
 #include&lt;stdio.h&gt;
 int main(){
   int i, j, min, temp, ptr[] = {8,4,3,7,6,5,2,1}, n = 8;
 
   /* Selection sort */
   for(i = 0; i &lt; n-1; ++i){
     min = i;
     for(j = i+1; j&lt;n; ++j)
       if(ptr[min] &gt; ptr[j]) min = j;
     temp = ptr[i];
     ptr[i] = ptr[min];
     ptr[min] = temp;
   }
 
   for(i = 0; i &lt; n; ++i) printf(&quot;%d &quot;, ptr[i]);
   return 0;
 }
----
**マージソート
安定ソートだが、O(n)の外部記憶を必要とする。O(n log n)

C
 #include&lt;stdio.h&gt;
 int temp[8];
 void MergeSort(int *ptr, int l, int r){
   int i, j, k, m;
   if(l &gt;= r) return;
   m = (l+r) / 2;
   MergeSort(ptr, l, m);
   MergeSort(ptr, m+1, r);
   for(i = l; i &lt;= m; i++) temp[i] = ptr[i];
   for(i = m+1, j = r; i &lt;= r; ++i, --j) temp[i] = ptr[j];
   i = l;
   j = r;
   for(k = l; k &lt;= r; k++){
     if(temp[i] &lt;= temp[j]) ptr[k] = temp[i++];
     else ptr[k] = temp[j--];
   }
 }
 int main(){
   int i, ptr[] = {8,4,3,7,6,5,2,1}, n = 8;
 
   MergeSort(ptr, 0, n-1);
 
   for(i = 0; i &lt; n; ++i) printf(&quot;%d &quot;, ptr[i]);
   return 0;
 }
----    </description>
    <dc:date>2010-08-05T23:02:19+09:00</dc:date>
  </item>
    <item rdf:about="http://www23.atwiki.jp/homework/pages/26.html">
    <title>よくある問題/カレンダー</title>
    <link>http://www23.atwiki.jp/homework/pages/26.html</link>
    <description>
      *カレンダー
月のカレンダーを出力する

C
 #include&lt;stdio.h&gt;
 int main(){
   int days[] = {31,28,31,30,31,30,31,30,31,31,30,31,30,31};
   int y, m, d, i, k;
 
   printf(&quot;y=&quot;);
   scanf(&quot;%d&quot;, &amp;y);
   printf(&quot;m=&quot;);
   scanf(&quot;%d&quot;, &amp;m);
   if(1583&gt;y || y&gt;4000 || 1&gt;m || m&gt;12) return 1;
   printf(&quot;\n%d/%d\n\n&quot;, y, m);
 
   d = days[m-1];
   if(m==2 &amp;&amp; (y%4==0&amp;&amp;y%100!=0||y%400==0)) d++;
 
   if(m==1 || m==2){
     y--;
     m += 12;
   }
   k = (y+(int)(y/4)-(int)(y/100)+(int)(y/400)+(int)((13*m+8)/5)+1) % 7;
 
   printf(&quot;日 月 火 水 木 金 土\n&quot;);
   for(i=0; i&lt;k; i++) printf(&quot;   &quot;);
   for(i=1; i&lt;=d; i++){
     printf(&quot;%2d &quot;, i);
     if(++k%7==0) printf(&quot;\n&quot;);
   }
   printf(&quot;\n&quot;);
   return 0;
 }

C++
 #include&lt;iostream&gt;
 using namespace std;
 int main()
 {
   int days[] = {31,28,31,30,31,30,31,30,31,31,30,31,30,31};
   int y, m, d, i, k;
 
   cout&lt;&lt;&quot;y=&quot;; cin&gt;&gt;y;
   cout&lt;&lt;&quot;m=&quot;; cin&gt;&gt;m;
   if(1582&gt;=y || y&gt;=4000 || 1&gt;m || m&gt;12) return 1;
   cout&lt;&lt;&#039;\n&#039;&lt;&lt;y&lt;&lt;&#039;/&#039;&lt;&lt;m&lt;&lt;&quot;\n\n&quot;;
 
   d = days[m-1];
   if(m==2 &amp;&amp; (y%4==0&amp;&amp;y%100!=0||y%400==0)) d++;
 
   if(m==1 || m==2)
   {
     y--;
     m += 12;
   }
   k = (y+(int)(y/4)-(int)(y/100)+(int)(y/400)+(int)((13*m+8)/5)+1) % 7;
 
   cout&lt;&lt;&quot; 日 月 火 水 木 金 土\n&quot;;
   for(i=0; i&lt;k; i++)cout&lt;&lt;&quot;   &quot;;
   for(i=1; i&lt;=d; i++)
   {
     cout.width(3);
     cout&lt;&lt;i;
     if(++k%7 == 0) cout&lt;&lt;&#039;\n&#039;;
   }
   cout&lt;&lt;endl;
   return 0;
 }
----    </description>
    <dc:date>2010-08-05T22:55:08+09:00</dc:date>
  </item>
  </rdf:RDF>

