English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我的流程是這樣的:
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

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

fedest.com, questions and answers