我正在研究遺傳算法和C編程語言。我的任務是讀取表示連通圖的矩陣,然後根據節點之間的距離計算適應度,教授已經明確表示這不一定是確切的,也不一定遵循圖上的約束條件。所以我的想法是將矩陣讀入到可以工作的2D數組中。我現在需要將2D陣列放入一維陣列中,我們將調用機架,然後我們將機架混亂並將其分成兩個等長的較小陣列。c中的二維到一維數組
矩陣爲20 * 20,機架必須是尺寸400
不管怎麼說,這是我做這個代碼,雖然這是行不通的。
void TwoDtoOneD(int array[][SIZE], int left[SIZE*SIZE]){
int i,j;
for(i=0;i<SIZE*SIZE;i++){
for(j=0;j<SIZE*SIZE;j++){
left[i] = array[i][j];
}//end for
}//end for
}
您需要第三個變量k來計算'left [k ++]'的索引,而不是'left [i]' – Floris