Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Riempimento array
Forum - Visual Basic 6 - Riempimento array

Avatar
felixiuc91 (Normal User)
Rookie


Messaggi: 27
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 18:04
Venerdì, 16/04/2010
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

PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 18:23
Venerdì, 16/04/2010
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


PM Quote
Avatar
felixiuc91 (Normal User)
Rookie


Messaggi: 27
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 18:34
Venerdì, 16/04/2010
scusa ma nn capisco bene il 2* passagio del resto e tt chiaro

PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 18:43
Venerdì, 16/04/2010
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? ;)

PM Quote
Avatar
felixiuc91 (Normal User)
Rookie


Messaggi: 27
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 18:59
Venerdì, 16/04/2010
funziona :asd: grz mille

Ultima modifica effettuata da felixiuc91 il 16/04/2010 alle 19:00
PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 19:22
Venerdì, 16/04/2010
niente figurati! :k:

PM Quote