Discussione chiusa
Visualizzazione dei risultati da 1 a 5 su 5

Generare numeri casuali senza duplicati (estrazione lotto)

  1. #1
    padronus5 non è in linea Novello
    Salve sono nuovo di questo forum e sono alle prime armi con vba per excel e vorrei un aiuto su questo codice vorrei applicarlo con gli array ma non so come fare
    grazie in anticipo

     
    Private Sub AvviaLotto_Click()
    ' Dichiarazione delle variabile
    Dim a, b, c, d, e, f, g As Integer
    g = 1
    For f = 1 To 11
    g = g + 1
    ' Estrazione 1
    a = Int(Rnd * 90 + 1)
    Cells(g, 2) = a
    ' Estrazione 2
    Do
    b = Int(Rnd * 90 + 1)
    Loop Until b <> a
    Cells(g, 3) = b
    ' Estrazione 3
    Do
    c = Int(Rnd * 90 + 1)
    Loop Until c <> b And c <> a
    Cells(g, 4) = c
    ' Estrazione 4
    Do
    d = Int(Rnd * 90 + 1)
    Loop Until d <> c And d <> b And d <> a
    Cells(g, 5) = d
    ' Estrazione 5
    Do
    e = Int(Rnd * 90 + 1)
    Loop Until e <> d And e <> c And e <> b And e <> a
    Cells(g, 6) = e
    Next
    
    End Sub
    
    Ultima modifica di AntonioG; 06-06-2014 10:35  Motivo: Usa i tag CODE, titolo corretto, leggere il regolamento

  2. #2
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    invece di usare le variabi a,b,c,d e così via per le estrazioni, mantieni un indice che specifica quale estrazione stai facendo.
    qualcosa del genere
     cicla per N estrazioni
             cicla
            genera un numero casuale
            se N=1 inserisci il valore nella cella [1] dell'array ed esci dal ciclo interno
           altrimenti
               cerca tra 1 ed estrazione se il numero è già presente nell'array
                se no => inserisci il valore ed esci dal ciclo interno
    
    E' un metodo estremamente rozzo, d'altronde il problema delle estrazioni non è per nulla banale da affrontare in modo "furbo", suggerisco quindi di partire con qualcosa di semplice per poi padroneggiare eventualmente algoritmi più evoluti

  3. #3
    padronus5 non è in linea Novello
    Il problema é che sono un ragazzo non maggiorenne, sono al secondo anno di liceo scientifico ,e a scuola non ho studiato gli array ma volevo cimentarmi in qualcosa di difficile perché ho buone basi vorrei la spiegazione più precisa degli array
    Ultima modifica di padronus5; 06-06-2014 08:56 

  4. #4
    L'avatar di dodo47
    dodo47 non è in linea Topo di biblioteca
    Ciao
    Usa i tag per racchiudere il tuo codice e, se non lo hai già fatto, leggi il nostro regolamento.

    qui trovi un ottimo esempio che utilizza una collection

    saluti

  5. #5
    padronus5 leggi il nostro regolamento una volta almeno prima di scrivere ...

    Qui il CROSSPOSTING è VIETATO.

    Hai già scritto su

    http://www.excelvba.it/Forum/thread.php?f=1&t=6636

    e quindi questo thread viene chiuso.
    Ultima modifica di AntonioG; 06-06-2014 10:44 
    ℹ️ Leggi di più su AntonioG ...

Discussione chiusa

Potrebbero interessarti anche ...

  1. C: Generare tre numeri pseudo casuali diversi
    Da Antonello nel forum C/C++
    Risposte: 4
    Ultimo Post: 17-11-2014, 15:23
  2. Generare 10 o più numeri casuali diversi fra loro
    Da mario26 nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 16-05-2014, 12:18
  3. generare numeri casuali in excel
    Da aledodo nel forum Microsoft Excel
    Risposte: 4
    Ultimo Post: 15-03-2011, 21:28
  4. [VBA] Generare X numeri casuali, possibile?
    Da iltexano nel forum Microsoft Word
    Risposte: 10
    Ultimo Post: 19-03-2008, 08:51
  5. Generare numeri casuali esadecimali
    Da lucagfc nel forum Visual Basic 6
    Risposte: 17
    Ultimo Post: 11-07-2006, 15:04