![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 狐狸貓 ![]()
![]() |
用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的乖乖餃 ![]() ![]() |
這是當然的...
因為..... 按鍵以後,網頁會postback.... pageload以後才執行按鈕的內容...所以數字會和原來不一樣 如果是數字想要一樣, 那必須一開始就保留到session中
本篇文章回覆於2004-10-14 23:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |