台灣最大程式設計社群網站
線上人數
664
 
會員總數:246268
討論主題:189809
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 隨機變數排序
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
隨機變數排序
價值 : 0 QP  點閱數:2363 回應數:5
樓主

狐狸貓
初學者
88 39
754 57
發送站內信

請問一下  
用FIX(RND*1000) 產生 10個  1~1000的變數後
如何 讓這10個數字 由小到大排序


本篇文章發表於2004-10-14 01:03
1樓
作者回應

狐狸貓
檢舉此回應
這樣好像寫的很模糊
<html>
<body>
<form RUNAT="server">
下面有1∼1000的隨機變數
<p><asp:Label runat="server" id="MSG" /></p>
<p><ASP:BUTTON RUNAT="SERVER" TEXT="請排序" ONCLICK="BUTTON_CLICK" /></p>
<hr>
<p><asp:Label runat="server" id="MSG2" /></p>
</form>
</body>
</html>
<Script Language="VB" runat="server">
   Sub Page_Load()
      Dim A() = {FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000),FIX(RND*1000)}
      MSG.TEXT = A(0) & " " & A(1) & " " & A(2) & " " & A(3) & " " & A(4) & " " & A(5) & " " & A(6) & " " & A(7) & " " & A(8) & " " & A(9)
   End Sub

   SUB BUTTON_CLICK(SENDER AS OBJECT, E AS EVENTARGS)
   Dim I, J, K
   FOR I = 0 to 9
      FOR J = I+1 to 9
      IF A(I) > A(J) THEN
      K = A(I)
      A(I) = A(J)
      A(J) = K
      END IF
      NEXT
   NEXT 
   MSG2.TEXT = A(0) & " " & A(1) & " " & A(2) & " " & A(3) & " " & A(4) & " " & A(5) & " " & A(6) & " " & A(7) & " " & A(8) & " " & A(9)
   END SUB
</Script>

應該是說 產生10個隨機數後 先 送出來
然後 按一個鍵 才排序 再送出來

可是這樣寫
會跟我說A 未宣告

麻煩大家了
本篇文章回覆於2004-10-14 01:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
必須全部存到陣列後
使用
1.bubble sort
2.quick sort
3.insert.......
有無數種排序方式...
資料結構的書都會有
本篇文章回覆於2004-10-14 01:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
看來您的問題是...根本搞錯asp.net的執行特性....
a宣告在pageload裡面...根本就無法被button事件讀取到....
何不弄到button事件裡面...或是存到session變數中...?!
或是直接宣告到pageload上面一行..變成全域變數,
都可以解決您的問題
本篇文章回覆於2004-10-14 01:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

狐狸貓
檢舉此回應
還是不知道哪邊出問題
把A()放到page_load上一行後
用按鍵可以排序了
可是   進去 的第一次的10個隨機變數 不會排序
按了按鍵之後 會換成新的一組 然後 排序新的一組
本篇文章回覆於2004-10-14 01:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

QQ的乖乖餃
捐贈 VP 給 QQ的乖乖餃 檢舉此回應
這是當然的...
因為.....
按鍵以後,網頁會postback....
pageload以後才執行按鈕的內容...所以數字會和原來不一樣
如果是數字想要一樣, 那必須一開始就保留到session中
本篇文章回覆於2004-10-14 23:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.