01/02/11 15:21
carmine
salve ragazzi ho una procedura nel quale genero numeri random casualmente senza che essi si ripetano.
Inoltre essa la rikiamo in un'altra procedura poiche la devo richiamare più volte con parametri diversi,..
il problema è che quando la rikiamo più volte essa verifica anke per i numeri gia usciti nella precedente chiamata...mi spiego meglio...sto sviluppando una tombola, e genero numeri senza ripetizioni sia per l'estrazione che per le cartelle,
(ho 3 cartelle) se genero per la prima cartella, tuttobene, quando genero la seconda o il tabellone, la procedura mi controlla che nn escano anke i numeri usciti nelle cartelle gia generate!! spero di essermi spiegato! comunque ekko il codice:
la prima mi serve per vedere quando attuare la generazione delle cartelle e quando per il tabellone, cioè quando fare il ciclo per generarli tutti insieme e quindo estrarre uno alla volta
la seconda mi genera i numeri senza ripetizioni:
Ringrazio Anticipatamente
Inoltre essa la rikiamo in un'altra procedura poiche la devo richiamare più volte con parametri diversi,..
il problema è che quando la rikiamo più volte essa verifica anke per i numeri gia usciti nella precedente chiamata...mi spiego meglio...sto sviluppando una tombola, e genero numeri senza ripetizioni sia per l'estrazione che per le cartelle,
(ho 3 cartelle) se genero per la prima cartella, tuttobene, quando genero la seconda o il tabellone, la procedura mi controlla che nn escano anke i numeri usciti nelle cartelle gia generate!! spero di essermi spiegato! comunque ekko il codice:
la prima mi serve per vedere quando attuare la generazione delle cartelle e quando per il tabellone, cioè quando fare il ciclo per generarli tutti insieme e quindo estrarre uno alla volta
' procedura per chiamare cartelle o tombola Sub mat(ByVal matrice, ByVal n As Long, ByVal m As Long, ByVal tabella As MSFlexGrid) d = 0 g = 0 If f = True Then 'se scegli la cartella ciclo i = 0 j = 0 For d = 0 To n - 1 For g = 0 To m - 1 Call estrai(matrice, n, m, tabella) Next g Next d f = False Else 'se scegli la tombola una alla volta If y = True Then i = 0 j = 0 y = False End If Call estrai(matrice, n, m, tabella) End If End Sub
la seconda mi genera i numeri senza ripetizioni:
'procedura per l'estrazione dei numeri senza ripetizioni Sub estrai(ByVal matrice, ByVal n As Integer, ByVal m As Integer, ByVal tabella As MSFlexGrid) cont = cont + 1 If cont <= 90 Then estrai: Call genera2 t = False For k = 0 To n - 1 For h = 0 To m - 1 If num = matrice(k, h) Then t = True GoTo estrai End If Next h Next k If t = False Then matrice(i, j) = num tabella.CellFontBold = True tabella.Row = i tabella.Col = j tabella.Text = matrice(i, j) If a = True Then 'MsgBox ("numero Estratto " + CStr(num)) a = False End If j = j + 1 If j = m Then j = 0 i = i + 1 End If End If End If End Sub
Ringrazio Anticipatamente
aaa