PDA

Visualizza la versione completa : [VB] random che non si ripeta


Delas
12-11-2002, 18:10
ciao. vi spiego: in vb ho una stringa e separo le parole, poi vorrei riportarle in maniera casuale ma senza che si ripetino. ho provato una robaccia ma assolutamente non funziona, ecco cosa avevo fatto:



Frase = Text1.Text
a = Split(Frase, " ")
Parola = a(Rnd())
Parola1 = a(Rnd())

For i = 1 To UBound(a)
If Parola <> Parola1 Then
Text2.Text = Text2.Text + Parola1 & " "
Parola1 = a(Rnd())
End If
Next i


avevo pensato di memorizzare il valore in una variabile e controllarlo a ogni ciclo...
:master:

darkblOOd
12-11-2002, 19:23
punto 1)

per variare il seme di generazione dei numeri random devi mettere RANDOMIZE prima di chiamare la funzione random

Punto 2)
la funzione Rnd non serve per fare gli arrotondamenti?

Punto 3)
Se la tua frase "Hello World!" nella matrice ti trovi 2 valori e se il numero random ti da un indice 35626 che fai?

quindi dovresti limitare i numeri random generabili al limite massimo della matrice di valori che ti generi e poi fare un ciclo meno contorto di quello che hai realizzato

:adhone:

JamesD
12-11-2002, 21:06
Originariamente inviato da darkblOOd
Punto 2)
la funzione Rnd non serve per fare gli arrotondamenti?


No. Ti sei confuso con la ROUND ;)

Ciaoz:ciauz:

Loading