C/C++の宿題片付けます 164代目 ID:dMRFVrom

5名無しさん@Next2ch:2013/05/18(土) 19:33:14.59 ID:dMRFVrom

>>4
11行目(adjacentの宣言):変更
int adjacent[N_MAX][N_MAX]; // 隣接行列 (N_MAX × N_MAXの配列)
   ↓
int **adjacent; // 隣接行列 (N × Nの配列)

16~19行目(配列の初期化処理):削除

41行目(点の数を読み込んだ後):追加
// 配列の領域を確保&初期化
adjacent = (int **)malloc(sizeof(int *) * N);
for ( i=0; i<N; i++ ) {
adjacent[i] = (int *)malloc(sizeof(int) * N);
for ( j=0; j<N; j++ )
adjacent[i][j] = 0;
}

57行目(ファイル閉じる前) or 60行目(ファイル閉じた後):追加
// 配列の領域を解放
for ( i=0; i<N; i++ )
free(adjacent[i]);
free(adjacent);

…あと、#defineと33~36(上限チェック)は抜くかはお好みで。


このIDをNGリストに追加する

今後このIDの書き込みやスレッドを表示したくない場合、以下のボタンをクリックしてください。
NGリストに追加

レスを書き込む