Just nu i M3-nätverket
Jump to content

10 randomize med unika nummer!


Benni Svensson

Recommended Posts

Benni Svensson

Jag skulle behöva ett tips på hur jag gör 10 st randomize med unika numer. Själva randomzien är ju inte så svår:

 

For i = 1 TO 10

Randomize

Slumptal = Int(Rnd * 45) +1

Next

Detta betyder ju att den skall välja mellan 1 -45,

men problemet är att numren får inte upprepas, dom måste vara unika.

Någon som vet?

Link to comment
Share on other sites

Joakim Andersson

Jag skulle också gärna ha en smidig lösning på detta. Som jag har gjort så har jag lagt in de nummer som jag får i en array och varje gång har jag slumpat tills jag får ett tal som inte redan finns med i arrayen men detta får mycket hög komplexitet och om man tex skapa slumpa fram 1-10 i en slumpvis ordning så kan den ju stå och tugga i alla evighet om man har otur!

Link to comment
Share on other sites

Det finns en särskild komponent för det som skapar en GUID, Global Unique Identifier".

Sök på microsofts websida eller ngn annanstans efter GUID eller guid.dll. Du måste hämta hem en dll-fil för det och regga den innan det fungerar.

Om du använder dig av detta så kommer du alltid att få unika värden, och du behöver inte knacka någon randomizer-kod.

 

/Fresh

Link to comment
Share on other sites

Benni Svensson

Jag har hållit på hela dagen och letat på Microsoft, men inte hittat komponenten som du beskriver.

Jag hittade lite om den, men det gällde nog mest SQL-server!!!

Min tur i livet.

Jag skulle å andra sidan också vara intresserad av att ta del av koden som det föregående inlägget hadde.

Link to comment
Share on other sites

Benni Svensson

Jag har löst det hela själv.

Jag fick nog till det lite klumpigt, men jag har lagt allting i Sessions, och det går så snabbt att jag måste ha 10 decimaler för att mäta hur lång tid det tar.

Jag får iallafall ut 10 unika numer.

Link to comment
Share on other sites

champagnegossen

Ett rätt smart sätt är att bygga en array med nummer från 1 till 10. Sedan slumpar man fram ett tal mellan ett och antalet enheter i arrayen. Ta resultatet, lägg in det som första enhet i en ny array, och radera det från den första arrayen. Fortsätt tills den första arrayen är tom. Då har du en ny array med talen 1-10 i slumpvis ordning.

Tyvärr har jag ingen aning om hur man kodar detta i ASP, men den här metoden brukar jag använda i Lingo.

Link to comment
Share on other sites

  • 2 weeks later...

Enklare är nog att skapa en array på 45 positioner och nolla den. Om du sedan exempelvis slumpar fram 15 kollar du pos 15 i arrayen. Är den noll lägg in värdet i positionen, om inte slumpa en gång till. Kör detta i en loop som går 10 varv.

 

Sen är det bara att loopa igenom arrayen och skriva ut de positioner som inte innehåller 0 och du har fått ut din slumplista

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...