VB中如何在隨機範圍內產生無重複隨機數

時間 2022-03-03 21:44:52

1樓:

參考一下這個,vb6.0做個隨機排序的軟體,有**。裡面定義了乙個常量const pxsl = 50,修改這個常量,就可以用作其他數量的內容隨機無重複排列了。

定義了乙個dim stryuan(pxsl - 1) as string'源陣列

作為原始資料存放的陣列,用迴圈賦值為1-50,以此為例演示了無重複生成排列的過程。

排列結果,即抽號結果,存到了乙個列表中。

希望能對你有所幫助。

2樓:匿名使用者

你這個陣列定義

dim a(1 to 40) as integer不應該放在這個過程裡,應該宣告為模組變數!!!

就是放在,整個窗體**的最上面那個位置裡!

3樓:匿名使用者

設定乙個陣列,將出現過的內容賦值進去,隨機生出乙個新的數後,如果重複,就重新生成

4樓:匿名使用者

'定義乙個集合物件(collection),隨機數轉換為字元型別作為關鍵字。存入

如果有相同關鍵字新增時系統會捕獲乙個錯誤。

如何在vb中產生在一定正整數範圍內的不重複的隨機數?

5樓:匿名使用者

dim ub as integer   '定義下界限dim db as integer   '定義上界限ub = 100

db = 10

for i = 0 to 10

randomize       '生成隨機種子x = int(rnd() * (ub - db + 1)) + db '生成隨機數

msgbox x

next i

用vb怎樣生成10個不重複的(1到10)隨機數?

6樓:匿名使用者

vb生成10個不重複的隨機數**:private sub command1_click()dim a(9) as integer

for i = 0 to 9

goto way1

end if

next p

end if

print a(i)

next i

end sub

7樓:

private sub command1_click()dim a(9) as integer

for i = 0 to 9

way1:

randomize

a(i) = int(rnd() * 10) + 1if i > 1 then

for p = 0 to i - 1

if a(p) = a(i) then 『與前面的對比,如果有重複,重新隨機

goto way1

end if

next p

end if

print a(i) 』列印

next i

end sub

如何在excel中自動輸入指定範圍內的隨機數值?

8樓:匿名使用者

需要在圖中bai的**區域內每個單du元格自動生成zhi乙個隨機dao數,隨機數範圍回5.10-9.90.

選中區域內的第乙個單元格,

答在編輯欄內輸入公式:=randbetween(510,990)/100,回車即可。

此時第乙個隨機數值產生,

拖動滑鼠對需要自動生成隨機數的單元格進行填充,

以上的公式:=randbetween(510,990)/100,也可以根據自己的需要進行更換。例如0到1之間保留三位小數的隨機值為:

=randbetween(0,1000)/1000.

備註:函式randbetween(),即為隨機數的函式,但是此函式只生成整數,對於需要小數隨機值的,可以對其隨機值作除運算。

用vb怎麼產生不重複的隨機數?

9樓:

private sub command1_click()randomize

a = int((10 - 0 + 1) * rnd + 0)print a

end sub

10樓:匿名使用者

dim a(1 to 10) as integerprivate sub command1_click()static n as integer

n = n + 1

if n > 10 then exit subdox = int((10 - 1 + 1) * rnd + 1)j = true

for i = 1 to n - 1

if x = a(i) then j = false: exit for

next i

loop until j

a(n) = x

command1.caption = a(n)end sub

private sub form_load()randomize

end sub

11樓:

rnd 函式

返回乙個包含隨機數值的 single。

語法rnd[(number)]

可選的 number 引數是 single 或任何有效的數值表示式。

返回值如果 number 的值是 rnd 生成

小於 0 每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 序列中的下乙個隨機數。

等於 0 最近生成的數。

省略 序列中的下乙個隨機數。

說明rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前乙個數作為下乙個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

注意 若想得到重複的隨機數序列,在使用具有數值引數的 randomize 之前直接呼叫具有負引數值的 rnd。使用具有同樣 number 值的 randomize 是不會得到重複的隨機數序列的。

vb中如何產生10個1——100的不重複隨機數 求**、、、

12樓:

private sub command1_click()dim a(9)

for i = 0 to 9

re:a(i) = int(rnd * 100) + 1if i > 0 then

for j = 0 to i - 1

if a(i) = a(j) then goto renext

end if

next

for i = 0 to 9

print str(a(i))

next

end sub

用vb怎樣生成10個不重複的(1到10)隨機數

13樓:匿名使用者

dim a(1 to 10)

for i=1 to 10

a(i)=rnd*10+1

next i

vb如何生成某一範圍內的隨機數,並且排除某些數字?

14樓:匿名使用者

要產生範圍 [lowerbound,upperbound]內的隨機數的語句:

x = int((upperbound - lowerbound + 1) * rnd + lowerbound)

如果要排除 其中的某一些數,例如:a、b、c(當然a、b、c在該範圍內)

那麼:x = int((upperbound - lowerbound + 1) * rnd + lowerbound)

do while x = a or x = b or x = c

x = int((upperbound - lowerbound + 1) * rnd + lowerbound)

loop

15樓:善良的豬頭

a=1:b=100 '設定範圍

10 x=rnd()*(100-1+1)+1 '範圍內產生隨機數 公式 = rnd()*(高限-低限+1)+1

if x mod 3 =0 then goto 10 '如果隨即結果是3的倍數就重新產生隨即數

16樓:匿名使用者

a到b之間的隨機數: a+rand()*(b-a) 排除的話比較 如果出現 重新產生

如何在vb中實現永不重複的隨機數

理論上是可以無窮大,但是受資料型別結構限制。例如單精度型別的長度範圍在3.402823e 38,如果拋開電腦資料結構佔位精度和cpu消耗,理論上總有窮舉完的時候。但通常我們不可能把它真正的窮舉完。你在窗體內置立乙個list1和乙個command1。在窗體模組中貼上如下 private switch ...

vb中如何讓取隨機數,VB中如何讓取隨機數

int upperbound lowerbound 1 rnd lowerbound upperbound是上限的意思,lowerbound是下限的意思,根據你的要求來指定數字 比如我要乙個0到10的隨機數 randomize 初始化隨機數種子text1 int rnd 10 0 1 0 在vb中,...

如何在vb中引用,如何在VB中引用ADO

在vb6.0中引用ado 通過選擇 工程 選單中的 引用.來為 ado 物件庫新增乙個引用,然後在 引用.對話方塊中選擇 microsoft activex data objects 2.0 library 點上圖確定。工程就引用了ado。執行 示例 private sub command1 cli...

如何在vb中新增日期控制項,如何在VB中新增日期控制項

datetimepicker控制項使您可以提供格式化的日期字段,使得進行日期選擇很容易。另外,使用者還可以從類似於monthview控制項的下拉式日曆介面中選擇日期。datetimepicker控制項,有兩種操作模式 下拉式日曆模式 預設 允許使用者顯示一種能夠用來選擇日期的下拉式日曆。時間格式模式...

VB求陣列裡的素數,VB 如何在一串陣列中算出素數個數

private sub command1 click dim i as integer,num as integerdim a 100 as integer,b 100 as integer,yes as boolean num 0 print 原來的數是 for k 1 to 100 a k in...