我的流程是這樣的:
1.找出10個範圍在1~10之間的亂數設為Xi
2.代入f(x)=10*X+30.5出的值設為P
3.在找出前5個最小值的P
4.再把這5個最小值的p裡面的xi各加上10.5設為xj
5.把之前算出來的5個最小值的p裡面的xi和xj通通設為x
6.在代入第2.個步驟
7.2~6的步驟重複100次
8.找出最小值p和x=?
我現在的問題是不知怎麼代回第2個步驟,麻煩會的人幫我解答,謝謝!!
如果有看不懂的地方也麻煩跟我說一聲...
2006-10-13 06:33:56 · 2 個解答 · 發問者 亮晶晶NO.1 1 in 電腦與網際網路 ➔ 程式設計
其實這個問題已經非常簡化了,真正的問題流程非常大,我只是把我真正不懂的地方寫個類似的流程貼在這,所以還是麻煩高手們了~~~
2006-10-13 07:52:05 · update #1
我寫這流程的方法是再步驟2上面多了一個
for k=1 to 100
然後在步驟五的下面多了一個
next k
執行結果有跑100次但是不確定這樣寫的話有沒有把步驟5的結果代回步驟2,希望這樣寫能清楚我的問題出在哪??謝謝!!
2006-10-13 11:57:33 · update #2
Dim XI#(10), P#(10), I&, K&, A&, B&, C&, Z#
Function F#(X#)
F = 10 * X + 30.5
End Function
Private Sub Command1_Click()
For I = 1 To 10
Randomize: XI(I) = Int(Rnd * 10 + 1)
Next
For K = 1 To 100
For I = 1 To 10: P(I) = F(XI(I)): Next
For A = 1 To 9
For B = A + 1 To 10
If P(B) < P(A) Then
Z# = P(A): P(A) = P(B): P(B) = Z#
C = XI(A): XI(A) = XI(B): XI(B) = C
End If
Next
Next
For I = 1 To 5: XI(I + 5) = XI(I) + 10.5: Next
Next
Print "P = "; P(1); " , "; "XI = "; XI(1)
End Sub
2006-10-17 07:51:07 補充:
亮晶晶NO.1
謝謝你採用我的答案.
2006-10-16 18:42:11 · answer #1 · answered by ? 2 · 0⤊ 0⤋
能否先把你的Code貼上,大家才好幫你^^
2006-10-13 07:48:57 · answer #2 · answered by W.J.S. 7 · 0⤊ 0⤋