台灣最大程式設計社群網站
線上人數
1492
 
會員總數:246630
討論主題:190056
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]抽取程式
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]抽取程式
價值 : 0 QP  點閱數:1712 回應數:7
樓主

藍色情海
初學者
60 11
24 16
發送站內信

請問一下,我想做一個亂數抽取的程式,可是抽取出來之後,因為是亂數
所以會產生重覆的情形,有沒有辦法使他不要重覆呢???

本篇文章發表於2002-05-11 09:02
1樓
回應

keny
檢舉此回應
上面選
內容

亂數

搜尋
本篇文章回覆於2002-05-11 09:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

keny
檢舉此回應
喔!剛試了一下,選 [主題] 比較好!
本篇文章回覆於2002-05-11 09:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

藍色情海
檢舉此回應
這是相關的程式碼,請大家幫幫忙^^
while~wend 那一行是我加上企的,可是一樣會重覆耶
<% Randomize    
   If Request.Form("UBound") <> "" Then
      upperbound = CInt(Request.Form("UBound"))
      lowerbound = CInt(Request.Form("LBound"))
      MaxRandom = CInt(Request.Form("Max"))
   Else
      lowerbound = 1
      upperbound = ""
      MaxRandom = ""
   End If
   
   
%>
<html>
<head>
<title>亂數產生器</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>

<body bgcolor="#FFFFFF">
<h2>亂數產生器</h2>
<form name="form1" method="post" action="random.asp">
  <p>從 
    <input type="text" name="LBound" size="5" value="<%=lowerbound%>">
    到 
    <input type="text" name="UBound" size="5" value="<%=upperbound%>">
    之間</p>
  <p>產生 
    <input type="text" name="Max" size="3" value="<%=MaxRandom%>">
    個亂數 
    <input type="submit" name="Submit" value="開始">
  </p>
</form>
<hr>
<%

   If Request.Form("UBound") <> "" Then
   
      For i = 1 To MaxRandom
         sngMyVariable = (upperbound - lowerbound) * Rnd + lowerbound
         Response.Write CInt(sngMyVariable) & ", "
         while sngMyVariable = CInt(Request.QueryString("sngMyVariable"))
         sngMyVariable = (upperbound - lowerbound) * Rnd + lowerbound
         wend
      Next
   
   End If
%>
</body>
</html>
本篇文章回覆於2002-05-11 09:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

keny
檢舉此回應
你想的跟我一樣ㄟ,不過你先看一下差在哪裡!
http://asp.database.net.tw/board_5/show.asp?repno=6579&page=1
本篇文章回覆於2002-05-11 09:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

藍色情海
檢舉此回應
嗯,好,我研究看看^^謝謝你
本篇文章回覆於2002-05-11 09:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

藍色情海
檢舉此回應
剛剛有企看到您所做的回應,可以請問一下,因為我想讓管理員填入
數目之後抽取之後,就可以不要重覆而選出,可是他如果填的數目很
大的話,那我們設不重覆的值就會變粉多耶,有沒有辦法可以擷取他
的值,然後不要重覆呢??
本篇文章回覆於2002-05-11 09:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

keny
檢舉此回應
因為他叫亂數
所以你無法預知出來的數字是否曾出現過
所以才要去檢查之前選出的記錄

你的要求也不是不可能
但是有點不太一樣
可以用陣列記錄曾出現的的數字
例如 1,3 有出現 2,4,5 沒有出現
(用 dup(Result_Of_RND)=1) 去設定
dup(1)=1
dup(2)=0
dup(3)=1
dup(4)=0
dup(5)=0

下次只找陣列為0的個數 (未出現過的數字)
用 3 去取亂數,假設取出為 2 ,則取第 2 個陣列為0的數字 4
是有點符合你的意思,但效能你要實測才知道!
我是覺得既然是取亂數,那就可以亂亂取,方法很多,你喜歡就好!
基本原則掌握住就可以了!

抱歉!我太睏了,你研究研究先,或等一下參考其他人的意見!待會再來看你^^...zzZ



本篇文章回覆於2002-05-11 10:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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