開發平台(Platform): codeblocks(Ex: VC++, GCC, Linux, ...)
問題(Question):
大家好
我的程式有個部份
會碰到需要讓一個
長度不固定的陣列(要根據某個檔案讀入比數決定)
需要用loop去跑每個值的可能性
讓整個陣列加總的值等於特定值
問題就在於
當這個陣列長度是固定時
我可以各寫一個for/while迴圈來跑
但是 當他不固定時
不小得有沒有辦法用while迴圈或是什麼技巧做到這件事呢?
謝謝
程式碼(Code):(請善用置底文網頁, 記得排版)
舉個例而言
如下面的code所示
當我的陣列長度為5時 double a[5];
我可以用下面的5圈for loop去跑
那陣列的值就是 a[0]=i, a[1]=j, a[2]=k, a[3]=l, a[4]=m ;//下面只是單純印出
但是因為陣列長度是要執行code的當下
才會知道
所以不曉得
有什麼辦法可以讓for loop的次數 是動態的?
謝謝 > <
double num=10.0;
for(double i=0.0;i<num;i+=0.1){
for(double j=0.0;j<num;j+=0.1){
if(i+j>num)
break;
for(double k=0.0;k<num;k+=0.1){
if(i+j+k>num)
break;
for(double l=0.0;l<num;l+=0.1){
if(i+j+k+l>num)
break;
for(double m=0.0;m<num;m+=0.1){
if(i+j+k+l+m>num)
break;
else{
if(i+j+k+l+m==num){
cout<<i<<" "<<j<<" "<<k<<" "<<l<<" "<<m<<endl;
}
}
}
}
}
}
}
補充說明(Supplement):