[問題] 請問多個for迴圈的改寫法
我有一支多個for迴圈 程式如下:
int num = 0;
for(int v = 0; v < a[0]; v++)
for(int w = 0; w < a[1]; w++)
for(int x = 0; x < a[2]; x++)
for(int y = 0; y < a[3]; y++)
for(int z = 0; z < a[4]; z++)
{
Amount[0] = v;
Amount[1] = w;
Amount[2] = x;
Amount[3] = y;
Amount[4] = z;
Amount[5] = a[5];
while
{
num = CAL(Amount);//Amount陣列傳到CAL函式計算
if(Amount[5] == 0) break;
Amount[5]--;
}
}
請問大家一個問題 困擾我許久
因為a陣列不知道有多大 可能會改變定義的大小 如:a[6],a[7],...,a[10],.....
假設a陣列變成a[6] for迴圈會改寫成
for(0 ~ a[0])
for(0 ~ a[1])
for(0 ~ a[2])
for(0 ~ a[3])
for(0 ~ a[4])
for(0 ~ a[5])
{
Amount[0] = ...
.
.
Amount[6] = ...
while(
num=CAL(Amount)
if(Amount[6] == 0) break;
Amount[6]--;
)
}
如果照我這樣寫法 勢必有很多個for迴圈,而且可能要重新編譯
那有沒有可能寫成比較簡單的形式 如函式 疊代 遞迴?
懇請大家給我一點方向讓我思考 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.209.141.218
※ 編輯: Ahshiung 來自: 210.209.141.218 (02/25 14:55)
※ 編輯: Ahshiung 來自: 210.209.141.218 (02/25 14:58)
推
02/25 15:16, , 1F
02/25 15:16, 1F
推
02/25 15:51, , 2F
02/25 15:51, 2F
→
02/25 15:52, , 3F
02/25 15:52, 3F
推
02/25 17:40, , 4F
02/25 17:40, 4F
→
02/25 18:03, , 5F
02/25 18:03, 5F