Oppure

Loading
27/08/08 20:11
gaffre
Ciao a tutti!
Qual'era la formula del random per escludere alcuni numeri tra Imax e Imin?

Int((10 - 0 + 1) * Rnd) + 0

Per esempio per escudere i numeri dispari 1 3 5 7 9 tra 1 ed il 10?

Grazie
aaa
27/08/08 21:46
GrG
non so come si fa...
ma potresti fare un normale random, poi vedi che numero è uscito e se il numero è dispari allora riesegui il random finchè non esce un numero pari.
aaa
27/08/08 21:51
gaffre
scusa qual'è la funzione per vedere se è un numero paro?
aaa
27/08/08 22:50
GrG
potresti provare a vedere se è divisibile x 2.
Tra i sorgenti visualbasic ci dovrebbe essere un esempio, cercalo.
aaa
28/08/08 8:57
antometal
nel tuo caso puoi fare cheestrai un numero da 0 a 4 lo moltiplichi per 2 e ne aggiungi 1

num=int(rnd*4)*2+1

se viene generato 0 il risultato satà 1
se viene generato 4 il risultato sarà 9
aaa
28/08/08 9:27
GrG
ecco qui un codice di esempio:
Private Sub Command1_Click()
Dim x As Integer
Dim i As Double
1 'etichetta Goto
Randomize
x = Int(Rnd * 11) ' Crea un numero da 0 a 11
i = x / 2 'divide il numero per due
If InStr(1, i, ",") > 0 Then 'se il numero diviso per 2 contiene una virgola, quindi non è intero allora:
GoTo 1 'ritorna all'etichetta 1
Else 'altrimenti:
Label1.Caption = x 'mette il numero originario (pari) ottenuto dall'estrazione nella label1
End If
End Sub

aaa
28/08/08 10:08
Overflow
per ottenere numeri casuali pari da uno a 10 puoi fare cosi:
dim val
dim i as integer
val=array(2,4,6,8,10)
randomize
i=Int((4 - 0 + 1) * Rnd) + 0
msgbox val(i)


... per sapere se un numero è pari basta fare:


if (num mod 2)=0then
msgbox "il numero è pari"
else
msgbox "il numero è dispari"
end if
Ultima modifica effettuata da Overflow 28/08/08 10:11
aaa