Oppure

Loading
16/04/10 16:04
felixiuc91
Randomize
I = 1
Do While I <= 10
Numeri(I) = Int((20 * Rnd) + 1)
Stringa = Stringa + Str(Numeri(I)) + ";"
Text1.Text = Stringa
I = I + 1
Loop

Allora, io ho questo pezzo di codice , con cui riempio un array in modo random, solo che dei numeri possono ripetersi, e io non voglio che cio acada, esiste una funzione specifica o dei passagi(se si scriveteli pls xD).
Aspetto le vostre risposte
ps:è vb 6
aaa
16/04/10 16:23
a_butta
ho fatto poco tempo fa proprio un problema di questo genere...
Non sarebbe corretto data la filosofia del sito in generale che io ti scrivessi il codice pronto. Ti scrivo i passaggi logici che devi seguire, ovviamente se hai problemi con il codice chiedi pure e ti sarà dato aiuto.
Marco Poggi (a cui vanno i ringraziamenti e le citazioni) mi aveva suggerito tale metodo:

- Crei dapprima l'array in maniera ordinata e crescente (del tipo [1,2,3,4,5...]);
- Imposti un ciclo decrescente (da 2 a al numero max che ti serve) dove generi un numero casuale compreso tra 1 e l'indice del ciclo.
- Scambia i numeri dell' array che hanno come posizione l' indice del ciclo, e il numero generato.

In questo modo ti verrà creato un array con numeri non ripetuti ma in ordine casuale!

Spero di esserti stato d'aiuto. Se hai problemi con il codice chiedi pure! :k:
Ciao ciao

aaa
16/04/10 16:34
felixiuc91
scusa ma nn capisco bene il 2* passagio del resto e tt chiaro
aaa
16/04/10 16:43
a_butta
tu imposti un normalissimo ciclo for con i che va da 2 al numero massimo di caselle del tuo array (se nel tuo caso è 10, avrai il ciclo da 2 a 10). In questo ciclo generi ogni volta un numero casuale compreso tra 1 e l'indice del ciclo, cioè i.

Mi sono spiegato? ;)
aaa
16/04/10 16:59
felixiuc91
funziona :asd: grz mille
Ultima modifica effettuata da felixiuc91 16/04/10 17:00
aaa
16/04/10 17:22
a_butta
niente figurati! :k:
aaa