[問題] 三維陣列傳到函式的用法
我是使用DE演算法來做最佳化
我原本是使用二維陣列來做我的東西
可是因為最近發現我多了一個需要處理的變數 所以要改成三維陣列來完成..
這是我原本的程式
int i,j;
// 初始化 隨機產生初始個體
for(i=0; i<PopulationSize;i++){
for(j=0; j<D; j++){
population[i][j] =VarsRange[j]*PointRand()+MinLim[j];
}
energy[i]=cal_fitness(population[i]);// 計算適應值
}
可是我現在要把population變成三維的也就是population[i][j][k]
然後程式碼變成
for(i=0; i<PopulationSize;i++){
for(j=0; j<machine; j++){
for(k=0; k<D; k++){
population[i][j][k] =VarsRange[k]*PointRand()+MinLim[k];
}
energy[i]=cal_fitness(population[i]);// 計算適應值
}
}
可是我再把陣列丟給函示那邊不太會寫
我是有找到一個網頁的教學http://ppt.cc/ruY_
可是還是有點不懂 而且還要去計算每筆資料存在哪個地方的值有點麻煩
==========================================
另外說一下 我現在想要做的
我現在就是想要一樣只要將population[i]丟入函式中
然後再在函式裡去改變我的j,k來做存取
例如population[i][j][k]={{1,1,2}{2,3,4}{3,5,6}{4,7,8}}
我的i只是用來做選擇要哪一個二維陣列而已
所以當我迴圈跑到i=3的時候 就會丟5,6的這個二維陣列資料給我的函式去做計算
可是我不太懂這部分要怎麼寫
============================================
我之前的二維陣列也是這樣 當i=2的時候 就丟了一個一維陣列進去
但是要丟三維陣列去進函式要寫population[i][不知道怎麼寫]
所以有點困惑
因為我i是在主程式才用的到了跟函式完全沒關係
不知道這樣講各位有沒有看得懂我的意思
小弟表達能力有點差 不好意思
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.240.236.131
→
05/23 22:45, , 1F
05/23 22:45, 1F
推
05/23 22:47, , 2F
05/23 22:47, 2F
→
05/23 22:48, , 3F
05/23 22:48, 3F
→
05/23 23:07, , 4F
05/23 23:07, 4F
→
05/23 23:08, , 5F
05/23 23:08, 5F
推
05/24 19:06, , 6F
05/24 19:06, 6F
→
05/24 21:59, , 7F
05/24 21:59, 7F
→
05/24 21:59, , 8F
05/24 21:59, 8F
→
05/24 22:00, , 9F
05/24 22:00, 9F
→
05/24 22:00, , 10F
05/24 22:00, 10F
→
05/24 22:01, , 11F
05/24 22:01, 11F
→
05/24 22:01, , 12F
05/24 22:01, 12F
→
05/24 22:01, , 13F
05/24 22:01, 13F
→
05/24 22:02, , 14F
05/24 22:02, 14F
→
05/26 19:26, , 15F
05/26 19:26, 15F
→
05/26 19:26, , 16F
05/26 19:26, 16F
→
05/26 19:27, , 17F
05/26 19:27, 17F
推
05/27 03:00, , 18F
05/27 03:00, 18F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章