Ciao Rafh lo script che hai postato,
è più universale inquadrando il problema in modo più generale.
LuigiB ci abituati ad un basic (quello di spaziometria) molto più potente.
Per indirizzare 3 differenti numeri occorrono 3 variabili-indice
Ovvero k e kk non bastano e ci vuole anche kkk.
Poi hai giustamente impostato kk = k+1 e di conseguenza kkk= kk + 1.
Ma questo appartiene all' "ottimazzazione" dello script e non può essere semplicemente
copiato ed incollato da altri script senza prima averne interiorizzato "il perché" si fa così.
Dunque servono 3 cicli nidificati (uno dentro l'altro) con i loro 3 indici (k,kk,kkk)
Giustamente hai scritto che k non va fino a 10 e si ferma a 9
Analogamente aggiungendo, il terzo indice, ci si deve fermare ad 8.
Dunque all' inizio i cicli hanno gli indici:
K = 1
KK= K +1 = 2
KKK = KK+1 = 3
mentre i limiti finali di essi sono 8 - 9 - 10.
Dunque i 3 cicli ottimizzati per evitare le permutazioni lottologicamente sbagliate, dovrebbero essere:
For K = 1 To 8
For KK = K + 1 To 9
For KKK = KK + 1 To 10
e così di seguito tutto lo script come lo avevi predisposto è questo:
Codice:
Option Explicit
Sub Main
Dim K,KK,KKK,sAmbo,N
Dim Numeri(10)
Numeri(1) = 43
Numeri(2) = 1
Numeri(3) = 65
Numeri(4) = 76
Numeri(5) = 40
Numeri(6) = 90
Numeri(7) = 27
Numeri(8) = 4
Numeri(9) = 71
Numeri(10) = 62
For K = 1 To 8
For KK = K + 1 To 9
For KKK = KK + 1 To 10
N = N + 1
Scrivi FormatSpace(N,4) & Format2(Numeri(K)) & "." & Format2(Numeri(KK)) & "." & Format2(Numeri(KKK))
Next
Next
Next
End Sub
Come detto esso è scritto in un basic più generico e quindi potrebbe girare
anche in altri programmi, direttamente, o con poche semplici modifiche.
Buona giornata a tutte/i.