今日の予定

そして今日はこれから6つに切られた配列から3つを選ぶプログラムを作成します。次はその名付けられた配列を辞書的に並べ替えるプログラムを作ります。この辺が妥当な線でしょう。その次に小行列式から生成される行列を作るのですが、これはまあ明日か明後日でしょう。つか明日は花見だっつーの。
辞書的配列のプログラムのアルゴリズムは昨日寝しなに考えたので行けると思われます。
頭の桁を検索して、それでブロックを作って、その次の桁を検索して、それでブロックを作ってけば行けるでしょう。問題は組み合わせですね。僕が一番苦手な奴です。これまで生きてきてこの手の問題で正解に自力で辿り着けたことが殆どないので不安です。やっぱ代数は難しいです。
どうやら組み合わせについての全ての場合を出すには樹形図を書くような感じのプログラムを書けば良いことが分かりました。順列だとまた微妙なんですよね。つーかこれってば僕は子供の頃かが凄い苦手です。得意な人が居たら会ってみたいもんだ。
実際に全ての場合を書き出すためのプログラムを書くのに樹形図を書く俺。小学生っぽいな。そして重複組み合わせをしていた俺。マジ逝って良しって感じだな。頭悪杉。つーかこれって本当難しいよなあ。
ちょっともう来まくりんぐですよ。サクッと来た。フローチャート書いて、その通りに書いたら組み合わせについての全ての場合の数について書き出すのに成功しましたよ。しかも既に辞書的配列になっている。つーかアルゴリズムがそういう風に結果的になってたんですけどね。

  /* initialization of the array X[6] */
  for (i=0; i<6; i++) {
    X[i] = i+1;
  }

  /* making of combination of elements of the array */
  for (i=0; i<6; i++) {
    for (j=i+1; j<6; j++) {
      for (k=j+1; k<6; k++) {
        cout << X[i] << X[j] << X[k];
        cout << endl;
      }
    }
  }