13 messaggi dal 25 settembre 2001
Sto quasi uscendo pazzo!!!

Qualcuno mi sa dire come posso fare a generare n numeri casuali ad es. da 1 a 10 tutti diversi tra loro?


Grazie.
902 messaggi dal 19 aprile 2001
<%
estrazioni=5 'numero di estrazioni volute
massimo=10 'intervallo
dim numeri
redim numeri(estrazioni)
trovati=0
while trovati<estrazioni
randomize
x=int(rnd*massimo+1)
nuovo=true
for k=1 to trovati
if x=numeri(k-1) then nuovo=false
next
if nuovo then
numeri(trovati)=x
trovati=trovati+1
end if
wend

for i=1 to estrazioni
response.write numeri(i-1) & "<br>"
next

%>

 Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net

Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net
io non ti consiglio di mettere il randomize dentro il ciclo while e ti consisiglio di usare:

<code>
randomize timer
</code>

Ciao

<b> Andrea Palmatè  </b>
<i>ASPITALIA.com</i>

--
Andrea Palmatè
902 messaggi dal 19 aprile 2001
differenza?
non mi è chiaro... non ho ancora capito bene come asp genera i numeri (ogni guida me lo dice in maniera diversa...). Grazie

ps. dalla guida vbscript dice
Randomize uses number to initialize the Rnd function's random-number generator, giving it a new seed value. If you omit number, the value returned by the system timer is used as the new seed value.

poi però dice
Note To repeat sequences of random numbers, call Rnd with a negative argument immediately before using Randomize with a numeric argument. Using Randomize with the same value for number does not repeat the previous sequence.

bah se mi chiarisci le idee mi fai una cortesia

 Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net

Modificato - ueilat - 26 Set 2001 14:37:02

Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net
Randomize serve per inizializzare il generatore dei numeri casuali.

Prova ad eseguire questo codice:

<code>
Randomize 1
Response.Write Rnd(100)
</code>

Vedrai che verrà stampato sempre lo stesso numero.

Con Randomize Timer non fai altro che inizializzare il generatore dei numeri casuali con i secondi passati dalla mezzanotte e quindi hai un buon margine di creazione di numeri casuali abbastanza diversi.

Reinizializzare il generatore ogni volta va bene, ma è inutile. Basta farlo la prima volta.

Spero sia stato esauriente

Ciao

<b> Andrea Palmatè  </b>
<i>ASPITALIA.com</i>

--
Andrea Palmatè

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.