Avatar billede sp Nybegynder
12. maj 2002 - 13:11 Der er 14 kommentarer og
1 løsning

Find et tilfældigt tal ud fra de bestemte muligheder!

Hej.

Jeg skal bruge en funktion der finder et tilfældigt tal, dog i blandt tallene i talrækken.
Altså et tal ud af de muligheder man har valgt i strengen.

"195, 379, 1094, 391, 273, 276, 114, 277"

M.v.h.
Søren Peter
Avatar billede rou Nybegynder
12. maj 2002 - 13:16 #1
<%
sNums = "195,379,1094,391,273,276,114,277"
aNums = Split(sNums,",")

Randomize
MyNum = (UBound(aNums)*RND())

%>

Noget i den retning
Avatar billede sp Nybegynder
12. maj 2002 - 13:22 #2
tjaaaa.
Men det virker ikke helt 3,61330157518387
Avatar billede rou Nybegynder
12. maj 2002 - 13:25 #3
<%
sNums = "195,379,1094,391,273,276,114,277"
aNums = Split(sNums,",")

Randomize
MyNum = aNums(Round((UBound(aNums)*RND())))

%>
Avatar billede kimiwan Nybegynder
12. maj 2002 - 13:26 #4
strNumbers = "195, 379, 1094, 391, 273, 276, 114, 277"
arrNumbers = split(strNumbers,",")
Randomize()
Response.Write(arrNumbers(int((ubound(arrNumbers) + 1) * Rnd)))
Avatar billede eagleeye Praktikant
12. maj 2002 - 13:29 #5
talStr = "195, 379, 1094, 391, 273, 276, 114, 277"
talArr = Split(talStr,",")
Randomize
indexToNo = Int((UBound(talArr)+1)*RND())
Response.Write "Tallet er:" & talArr(indexToNo)
Avatar billede medions Nybegynder
12. maj 2002 - 13:29 #6
Hvad med denne:
numre = "195,379,1094,391,273,276,114,277"
Ialt = Split(numre,",")

Randomize
RandNum = Int(Rnd * 8) + 1
Response.Write(RandNum)

(den er ikke afprøvet...)

//>Rune
Avatar billede sp Nybegynder
12. maj 2002 - 13:32 #7
Det her ser ud til at virke:
sNums = "195,379,1094,391,273,276,114,277"
aNums = Split(sNums,",")
Randomize

sNums = Int(UBound(aNums)* Rnd())
Avatar billede sp Nybegynder
12. maj 2002 - 13:34 #8
Dim sNums, aNums
sNums = "195,379,1094,391,273,276,114,277"
aNums = Split(sNums,",")
Randomize

sNums = Int(UBound(aNums)* Rnd())
Response.Write aNums(sNums)
Avatar billede eagleeye Praktikant
12. maj 2002 - 13:35 #9
du skal havde +1 efter Ubound ellers får du ikke den sidste i arrayet med:

sNums = Int((UBound(aNums)+1)* Rnd())
Avatar billede eagleeye Praktikant
12. maj 2002 - 13:37 #10
I denne linie:
sNums = Int(UBound(aNums)* Rnd())

overskriver du lige den oprindelge liste:
sNums = "195,379,1094,391,273,276,114,277"


Så bruge et andet navn til index værdien:
indexToNo = Int(UBound(aNums)* Rnd())
Response.Write aNums(indexToNo)
Avatar billede sp Nybegynder
12. maj 2002 - 13:40 #11
Dim sNums, aNums, MyNum
sNums = "195,379,1094,391,273,276,114,277"
aNums = Split(sNums,",")

Randomize
MyNum = aNums(Round(((UBound(aNums)+1)*Rnd())))
Response.Write MyNum
Avatar billede sp Nybegynder
12. maj 2002 - 13:44 #12
Undskyld, men mange tak for hjælpen. Der skal nok stå Int istedet for Round
Avatar billede eagleeye Praktikant
12. maj 2002 - 13:49 #13
hmm LOL ikke så meget som 1 points for at hjælpe med de andre ting, så må du selv gennemskue hvordan man skal benytte INT og ikke Round ved Rnd().
Avatar billede sp Nybegynder
12. maj 2002 - 13:51 #14
Det gik lidt hurtigt:-)
Avatar billede sp Nybegynder
12. maj 2002 - 13:56 #15
Jeg vil gerne give dig nogle point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester