===課題5=== 受付開始日時 2015-05-26 11:30 受付終了日時 2015-06-01 18:00 閲覧設定 提出者本人と教員のみ閲覧・コメント可(個別指導) 学生による再提出の許可 再提出を許可する ●必須課題5-1 [プログラム(zip)] Floydのアルゴリズムの実装 課題に関する説明 授業中に示したFloydのアルゴリズムによるプログラムについて、以下の改良を施すこと。 ・全頂点対について、その最短経路(経由頂点全て)と、その経路値を示しなさい。 ・ある頂点対について経路が存在しな場合はその旨示しなさい。 ・出力例では、各行ごとに始点、終点、および全経由頂点、およびその値を示すこと(順序は内容がわかればよい) ・プログラムは下記のグラフを隣接行列として用いて提出しなさい。 int edge[N][N] = { { 0, 4,NC,NC, 3,NC,NC,NC,NC,NC,NC,NC}, { 4, 0, 1,NC,NC,NC, 2,NC,NC,NC,NC,NC}, {NC, 1, 0, 1,NC,NC,NC, 2,NC,NC,NC,NC}, {NC,NC, 1, 0,NC,NC,NC,NC,NC,NC,NC,NC}, { 3,NC,NC,NC, 0, 1,NC,NC, 1,NC,NC,NC}, {NC,NC,NC,NC, 1, 0, 2,NC,NC, 2, 3,NC}, {NC, 2,NC,NC,NC, 2, 0,NC,NC,NC, 3,NC}, {NC,NC, 2,NC,NC,NC,NC, 0,NC,NC,NC,NC}, {NC,NC,NC,NC, 1,NC,NC,NC, 0,NC,NC,NC}, {NC,NC,NC,NC,NC, 2,NC,NC,NC, 0,NC,NC}, {NC,NC,NC,NC,NC, 3, 3,NC,NC,NC, 0, 1}, {NC,NC,NC,NC,NC,NC,NC,NC,NC,NC, 1, 0} }; ・(メイン)ソースファイル名は ip3-5-1-xxxxxxxxx.c (xxxxxxxxは学籍番号9桁)とすること。 ・プログラムソースの先頭に、学生番号、氏名、課題名をコメントで記入すること。 ・プログラムで工夫した部分について、プログラムソースの何行目付近を確認してほしいか明記し(複数場所可)、其々の場所では何かしらの説明をコメントの形でプログラム中に書き込むこと。 ・L棟5階の計算機室で必ずコンパイルと実行ができること。 ⇒誰かに教えてもらった場合:その学生(氏名と9桁の学籍番号)をプログラム先頭に記し、さらにプログラム中コメントを使って、教えてもらったところの解説を独自の説明で数行以上書き込むこと。 (教えてもらった部分の解説コメントのないプログラムは全く評価しません。「全体です」のようなコメントの場合も同じです。) ⇒誰かに教えてあげた場合:その学生(氏名・学籍番号)をプログラム先頭に記すこと。 ⇒お互いに相談した場合:お互いの氏名・学籍番号を、教えてもらった・教えてあげたの例に準拠して提出してください。 ●必須課題5-2 [記述(pdf)] 現状でのNCの値 課題に関する説明 ・課題5-1のプログラムにおいて、NCの値を各自で適当に決めたと思います。その値が妥当である根拠を説明しなさい。 ・先頭に学籍番号・氏名・課題番号を示すこと。 ◇発展課題5-A [記述(pdf)] 理想的なNCの値 課題に関する説明 (1) 課題5-1のプログラムにおいて、NCをどのような定数にしても、(前提条件を満たす)与えられたグラフによってはプログラムの実行が破綻します。 その理由を、5-1のプログラムを参照しながら説明しなさい。 (2) 課題5-1のプログラムにどのような方針で改良を施せば、(前提条件を満たす)どのようなグラフに対してもプログラムが想定通りに動くようにできるか、議論しなさい。 ・先頭に学籍番号・氏名・課題番号を示すこと。 ・上記(1)(2)は一つのpdfにまとめて記述すること。