- 801 名前:デフォルトの名無しさん [2009/07/09(木) 04:59:49 ]
- [1] 授業単元: コンピュータネットワーク
[2] 問題文(含コード&リンク):(課題) Dijkstra法のプログラムを完成せよ。 (Dijkstraのアルゴリズムの擬似コード) #include <stdio.h> #define M 8 //ノードの数 #define Z 300 //無限大 int c[M][M] = { 0, Z, Z, Z, Z, Z, 7, 2},{ Z, 0, 8, 7, Z, Z, Z, 1},{ Z, 8, 0, Z, Z, Z, Z,10},{ Z, 7, Z, 0,10, 3, Z, Z},{ Z, Z, Z,10, 0, 8, Z, 5}, { Z, Z, Z, 3, 8, 0, 2, Z}, { 7, Z, Z, Z, Z, 2, 0, 9}, { 2, 1,10, Z, 5, Z, 9, 0}; //隣接行列 int main(void){ int start; //ソースのノード int d[M]; //ノードまでのコスト int v[M]; //確定フラグ int p[M]; //前のノードへのポインタ printf("start\n"); scanf("%d",&a);//ソースノードstartを指定する for (j=0; j<M; j++){ //最小コストのノードを探す、最小コストのノードを確定する for(k=0; k<M; j++){ //wを経由してkにいたるコストがそれまでの最短路のコストより小さければd(k)を更新 } } //ソースノードから各ノードへの最小コストと最短路を表示する } [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限: 2009年7月9日16:00まで [5] その他の制限:なし 488です。焦りすぎて規約を読まずに投稿してしまいました。すみません。 期限ギリギリなのですがお力を貸していただけると嬉しいです。よろしくお願いします。
|

|