Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Slumpgenerator i VB

Postades av 2007-01-25 11:19:04 - Katarina Andersson, i forum visual basic - allmänt, Tråden har 3 Kommentarer och lästs av 984 personer

Hej,

Jag behöver lite hjälp med att skapa en slumpgenerator som skall slumpa fram talen 1 till 8, 20 ggr.
Talen vill jag sedan spara undan i en array eller liknande.

Hur kan jag ändra koden så att jag kan spara undan flera värden?

Sub RandomNumberGenerator()

Dim NumberOfQuestion As Integer
NumberOfQuestion = 8
Const intLowest As Integer = 1

Dim RanGenFlag As Boolean

Dim arrRandom(1 To 8) As Integer
Randomize
arrRandom(1) = Int((NumberOfQuestion + 1 - intLowest) * Rnd) + intLowest

For i = 2 To NumberOfQuestion
Do
RanGenFlag = False
arrRandom(i) = Int((NumberOfQuestion + 1 - intLowest) * Rnd) + intLowest
For j = 1 To i - 1
If arrRandom(j) = arrRandom(i) Then RanGenFlag = True
Next j
Loop Until RanGenFlag = False
Next i

For i = 1 To NumberOfQuestion
Range("A1").Offset(i, 0).Value = arrRandom(i)

Next i

End Sub

Tacksam för hjälp

/Katarina



Svara

Sv: Slumpgenerator i VB

Postades av 2007-01-25 15:27:33 - Per Hultqvist

Hej Katarina,

En enklare variant för att slumpa ett antal fasta värden (jämför med en kortlek) är att först skapa arrayen med värdena i valfri ordning, t ex 1 till 8. Därefter slumpar man fram två tal mellan 1 och 8 och byter plats på dessa element, och återupprepar proceduren lämpligt antal gånger. Jag skulle tro det räcker med typ 10 ggr för att få en tillräckligt bra slumpmässighet i det hela.
<code>
' Obs! Pseudokod : Variabeldeklarationer saknas och Rnd(8)
' måste bytas mot kod som slumpar heltal mellan 1 och 8
Randomize Timer
Dim values(1 to 8) as integer
For i=1 to 8
values(i)=i
Next i
For i=1 to 10
k=Rnd(8)
l=Rnd(8)
' byt plats på element k och l
temp=values(k)
values(k)=values(l)
values(l)=temp
Next i
</code>
Vill du återupprepa proceduren 20 ggr så får du skapa en två dimensionell array:
<code>
' Obs! Pseudokod
Randomize Timer
Dim values(1 to 20,1 to 8) as integer
For n=1 to 20
For i=1 to 8
values(n,i)=i
Next i
For i=1 to 10
k=Rnd(8)
l=Rnd(8)
' byt plats på element k och l
temp=values(n,k)
values(n,k)=values(n,l)
values(n,l)=temp
Next i
Next n
</code>
Sist men inte minst bör du använda Randomize Timer i vb6 om jag minns rätt...då skapas ett slumptalsfrö utifrån datorklockan.


Svara

Sv: Slumpgenerator i VB

Postades av 2007-01-29 12:58:45 - Johan Forsberg

Ska det gå att få fram samma tal (1-8) någon gång i arrayen?


Svara

Sv:Slumpgenerator i VB

Postades av 2007-01-29 13:01:57 - Per Hultqvist

Som jag tolkar hennes orginalkod så skall samma siffra inte komma upp två gånger...


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 873
27 965
271 770
460
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies