Novità

Questo script genera 2.555.190 quartine con 90 numeri.

lotto_tom75

Advanced Premium Member
Oppure le quartine integrali volute con il gruppo di numeri desiderato :)

Codice:
Option Explicit
Sub Main

Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim nSorte,Fine,RetRit1,QuantitaNumeriScelti,aRuoteSel,RuoteSelezionate,RetRitMax,RetIncrRitMax,RetFreq,Inizio
Dim ColTot

ReDim aNum(0)
QuantitaNumeriScelti = ScegliNumeri(aNum)

ReDim aRuoteSel(12)

	ReDim aRuoteSel(12)
	RuoteSelezionate = 1

	For k = 1 To RuoteSelezionate 
		
	Next

nSorte = 4  <- E' in influente ai fini di questa generazione prettamente numerica e non analitica.

Classe = 4  <- basta cambiare questi valori (valore max = 6 per 90 numeri)

ColTot = InitSviluppoIntegrale(aNum,Classe)


If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


ReDim aRuoteTmp(1)


For k = 1 To RuoteSelezionate
		
		
aRuoteTmp(1) = aRuoteSel(k)


Call StatisticaFormazioneTurbo(aCol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq)

Dim Diff
Diff = RetRitMax - RetRit1


Dim rapportoRARS


If(RetRit1 >= 0) Then' 

Call Scrivi(StringaNumeri(aCol))

End If

Call AvanzamentoElab(1,ColTot,i) 

Call Messaggio("Colonna " & i)

If ScriptInterrotto Then Exit Do
Next
Loop
End If
End Sub

Inoltre... come indicato anche nello script basta cambiare il valore classe per generare tutte le combinazioni integrali volute (tenendo ben presente che per 90 numeri il massimo valore di classe deve essere pari a 6 e cosi' facendo si genereranno ben 622.614.630 di colonne :eek: :D [passo quest ultimo comunque altamente sconsigliato se non si vuole attendere tempi biblici rischiando anche impallamenti del pc se non si disponde di una macchina performante al massimo...] :p

Ora la mia domanda che rivolgo ai massimi esperti del fantastico codice relativo... è... come si potrebbe fare per generare anzichè le combinazioni integrali le combinazioni in decina diversa... in cadenza... in figura ecc...? delle lunghette volute?

Es. per cominciare...

Tutte le quartine in decina diversa...

Che saranno sicuramente meno di 2.555.190 colonne..., ma che non ho la più pallida idea di quante siano... effettivamente... :rolleyes:

Grazie a tutti/e e buona domenica :o
 
Ultima modifica:
ciao , ci sono due modi te ne parlo a livello teorico perche ti avverto subito che non mi mettero a farlo.
Il primo modo è filtrare ogni colonna dell'integrale in base al tale criterio e cosi si ottengono solo ad esempio come dicevi tu
le combinazioni in decina diversa , questo metodo è troppo lungo e improponibile per gli script
il secondo metodo è creare un algoritmo che costruisca le colonne a partire da gruppi numerici , ad esempio i lprimo gruppo
contine la decina 0 , il secondo la 1 , il terzo la 3 e cosi via , l'algoritmo combina i numeri prendendoli da ciascun gruppo
questo metodo è piu veloce perche produce solo le colonne che servono.
Un terzo metodo sarebbe usare la parte dei sistemi se con gli attuali filtri è possibile ottenere cio che si vuole e poi usare quelel colonne li
 
ciao , ci sono due modi te ne parlo a livello teorico perche ti avverto subito che non mi mettero a farlo.
Il primo modo è filtrare ogni colonna dell'integrale in base al tale criterio e cosi si ottengono solo ad esempio come dicevi tu
le combinazioni in decina diversa , questo metodo è troppo lungo e improponibile per gli script
il secondo metodo è creare un algoritmo che costruisca le colonne a partire da gruppi numerici , ad esempio i lprimo gruppo
contine la decina 0 , il secondo la 1 , il terzo la 3 e cosi via , l'algoritmo combina i numeri prendendoli da ciascun gruppo
questo metodo è piu veloce perche produce solo le colonne che servono.
Un terzo metodo sarebbe usare la parte dei sistemi se con gli attuali filtri è possibile ottenere cio che si vuole e poi usare quelel colonne li

Grazie mille per le dritte Grande Maestro :o Proverò a fare qualcosa al riguardo anche se per adesso non ho la minima idea su che codice abbozzare... al riguardo... :p Ciao!
 
Ciao Tom Copiato e Incollato ma quando premo il pulsante con fulmine me parte
la scansione Rapida
Ciao:cool:

Ciao Tiziano, in che senso la scansione rapida? :eek: (l'ho testato sulla versione 1.4.95 e non da problemi...) Se ti riferisci all'antivirus... io ho sia avast che microsoft security essential e non partono al cliccare sul fulmine... :)
 
Ciao Tom Nel Senso Antivirus io tengo una precedente versione di Spaziometria
e non tengo quel antivirus di Bill e un Mistero
Ciao:cool:
 
Ciao Tom Nel Senso Antivirus io tengo una precedente versione di Spaziometria
e non tengo quel antivirus di Bill e un Mistero
Ciao:cool:

Bho puoi provare ad aggiornare alla versione 1.4.95 e vedere se risolvi oppure guarda cosa ti segnala l'antivirus, che magari con il riconoscimento euristico, ti blocca script anche non nocivi. Ciao :)
 
Grazie mille per le dritte Grande Maestro :o Proverò a fare qualcosa al riguardo anche se per adesso non ho la minima idea su che codice abbozzare... al riguardo... :p Ciao!

Ho provato e riprovato Maestro, ma non riesco proprio.. :( :mad:
In particolare non so come distinguere in anum i vari elementi per poterli poi confrontare con i rispettivi array delle 9 decine. Inoltre non ho ben capito nemmeno come si costruiscono i vari 9 array delle rispettive decine diverse :rolleyes:

Purtroppo la realizzazione di questo script per me sarebbe + importante del relativo tentativo di analizzare files di grosse dimensioni (appunto in decina diversa) in quanto mi sembra di aver visto che il sistema (inteso come anche il pc non solo il programma) non supporta simili carichi di file txt (superiori a 37 mb e 1 milione ca di righe cadauno) Molto meglio credo analizzare in run time le singole combinazioni che lo script potrebbe creare rispettando però appunto la condizione "decina diversa"

Sperando che tu Luigi o qualche altra anima buona ed esperta di script spaziometrici... intervenga ad illuminarmi il sentiero...

Buon sabato e, se non ci si rilegge prima, anche buona domenica a tutti/e :o
 
Ultima modifica:
Eh tom ..purtroppo spiegarti e seguirti su queste cose è troppo complesso ..

Capito :(

Ma i 9 array già composti con le 9 decine diverse.. così da poter provare a gestirli in qualche modo me li potresti postare in modo che spaziometria li comprenda? ;) Oppure mi basterebbe anche se caricassi gli array con 2 o 3 numeri a caso ma che mi facessi vedere come si impostano gli array che non lo so o non me lo ricordo... :(

e in ultimis... anum[0] mi prende il primo numero scelto dalla tabella? anum è già un array giusto?

Grazie 1000 e buon week end grandissimo
 
Ultima modifica:
Per adesso ho verificato che essendo anum un array è gestibilissimo...

Codice:
ReDim aNum(0)
QuantitaNumeriScelti = ScegliNumeri(aNum)


Scrivi "Che numero appare? " & aNum(1) & aNum(3)

Dim contatore

For contatore = 1 To UBound(aNum)

If aNum(contatore) = 80 Then

Scrivi "individuato " & aNum(contatore)

End If  

Next

mi rimane da sapere come

1) mettere le varie decine nei diversi 9 array relativi

2) poter dire... al sistema "controlla se vi è già un numero di questa decina altrimenti mettilo o saltalo... quando costruisci la lunghetta relativa... (nello stesso modo di quanto avviene nella sezione sistemi condizionati di spaziometria con l'impostazione della condizione di presenza 0-1

Grazie per qualunque aiuto provenga in tal senso :)
 
se tu fai 10 array ognuno con 9 elementi , poi fai 10 cicli nidificati e all'interno del ciclo piu interno costruisci una colonna da 10 elementi prendendo per ognuna delle 10 posizioni il numero identificato dalla variabile di ciascuno dei 10 cicli nei rispettivi array gia hai un metodo per sviluppare combinazioni in decina diversa.
 
Ultima modifica di un moderatore:
se tu fai 10 array ognuno con 9 elementi , poi fai 10 cicli nidificati e all'interno del ciclo piu interno costruisci una colonna da 10 elementi prendendo per ognuna delle 10 posizioni il numero identificato dalla variabile di ciascuno dei 10 cicli nei rispettivi array gia hai un metodo per sviluppare combinazioni in decina diversa.

Ok ci provo...

intanto ho capito come caricare i vari array... :p

Codice:
dim decina0
dim aNumeri(10)


        aNumeri(0) = 1
	aNumeri(1) = 2
	aNumeri(2) = 3
	aNumeri(3) = 4
	aNumeri(4) = 5

ecc...

fino a 

       
	aNumeri(9) = 10

ora mi construisco un array per ogni decina e provo a fare il ciclo for nidificato come mi hai suggerito ;)

Grazie 1000
 
Ultima modifica:
se tu fai 10 array ognuno con 9 elementi , poi fai 10 cicli nidificati e all'interno del ciclo piu interno costruisci una colonna da 10 elementi prendendo per ognuna delle 10 posizioni il numero identificato dalla variabile di ciascuno dei 10 cicli nei rispettivi array gia hai un metodo per sviluppare combinazioni in decina diversa.

Dunque per adesso avrei trovato questo codice PHP che mi ricorda molto il tuo discorso, infatti questo crea in php... terzine in decina diversa, solo che usando questo la funzione in_array(elemento, decina) ti chiedo se c'e'... e se si... quale sia... l'analoga funzione in vb script (spaziometria) ?

Se non c'è quale potrebbe essere l'alternativa per costruirmi il ciclo nidificato di cui sopra?

Thanks

cod php ciclo for nidificato x terzine in decina diversa:

Codice:
'X ISPIRAZIONE X IL CICLO...

'$n=1;

'For ($x=1;$x<91;$x++)  {
'For ($y=$x;$y<91;$y++)  {
'For ($z=$y;$z<91;$z++)  {

'//controllo ulteriore...
'//solo se $x,$y e $z appartengono a decine diverse... stampa a video il risultato...

'If(in_array($x,$Decina1) && in_array($y,$Decina1) || in_array($x,$Decina1) && in_array($z,$Decina1) || in_array($y,$Decina1) && in_array($z,$Decina1) || in_array($x,$Decina2) && in_array($y,$Decina2) || in_array($x,$Decina2) && in_array($z,$Decina2) || in_array($y,$Decina2) && in_array($z,$Decina2) || in_array($x,$Decina3) && in_array($y,$Decina3) || in_array($x,$Decina3) && in_array($z,$Decina3) || in_array($y,$Decina3) && in_array($z,$Decina3) || in_array($x,$Decina4) && in_array($y,$Decina4) || in_array($x,$Decina4) && in_array($z,$Decina4) || in_array($y,$Decina4) && in_array($z,$Decina4) ||  in_array($x,$Decina5) && in_array($y,$Decina5) || in_array($x,$Decina5) && in_array($z,$Decina5) || in_array($y,$Decina5) && in_array($z,$Decina5) || in_array($x,$Decina6) && in_array($y,$Decina6) || in_array($x,$Decina6) && in_array($z,$Decina6) || in_array($y,$Decina6) && in_array($z,$Decina6) || in_array($x,$Decina7) && in_array($y,$Decina7) || in_array($x,$Decina7) && in_array($z,$Decina7) || in_array($y,$Decina7) && in_array($z,$Decina7) || in_array($x,$Decina8) && in_array($y,$Decina8) || in_array($x,$Decina8) && in_array($z,$Decina8) || in_array($y,$Decina8) && in_array($z,$Decina8) || in_array($x,$Decina9) && in_array($y,$Decina9) || in_array($x,$Decina9) && in_array($z,$Decina9) || in_array($y,$Decina9) && in_array($z,$Decina9) ||  in_array($x,$decinaesclusa1) || in_array($x,$decinaesclusa2) || in_array($x,$decinaesclusa3) || in_array($x,$decinaesclusa4) || in_array($y,$decinaesclusa1) || in_array($y,$decinaesclusa2) || in_array($y,$decinaesclusa3) || in_array($y,$decinaesclusa4) || in_array($z,$decinaesclusa1) || in_array($z,$decinaesclusa2) || in_array($z,$decinaesclusa3) || in_array($z,$decinaesclusa4)    ){
'// non fare nulla...
'}

'Else {


'Print "$n---$x,$y,$z"."<br>";
'$n++;

'}
'}
'}

'}
 
Ultima modifica:
tom in-array credo he sia una funzione che cerca se un tale valore è in un array o no . In spaziometria non c'è ma non per questo non si puo fare.
Ti faccio un esempio seplicissimo che lascia pero qualcosa anche all'intuito .. se puo esserti utile ...
ciao


for k1 = 1 to 10
for k2 = 1 to 10
colonna(1) = aDecina1(k1)
colonna(2) = aDecina2(k2)

next
next
 
tom in-array credo he sia una funzione che cerca se un tale valore è in un array o no . In spaziometria non c'è ma non per questo non si puo fare.
Ti faccio un esempio seplicissimo che lascia pero qualcosa anche all'intuito .. se puo esserti utile ...
ciao


for k1 = 1 to 10
for k2 = 1 to 10
colonna(1) = aDecina1(k1)
colonna(2) = aDecina2(k2)

next
next

Ho provato ad estendere... per le decine in decina diversa il tuo codice di esempio...

Codice:
Option Explicit
Sub Main


Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim nSorte,Fine,RetRit1,QuantitaNumeriScelti,aRuoteSel,RuoteSelezionate,RetRitMax,RetIncrRitMax,RetFreq,Inizio
Dim ColTot
'ReDim aRuote(1)


ReDim aNum(0)
QuantitaNumeriScelti = ScegliNumeri(aNum)



Dim Decina1(10)
Dim Decina2(10)
Dim Decina3(10)
Dim Decina4(10)
Dim Decina5(10)
Dim Decina6(10)
Dim Decina7(10)
Dim Decina8(10)
Dim Decina9(10)


Decina1(0) = 1
Decina1(1) = 2
Decina1(2) = 3
Decina1(3) = 4
Decina1(4) = 5
Decina1(5) = 6
Decina1(6) = 7
Decina1(7) = 8
Decina1(8) = 9
Decina1(9) = 10

Decina2(0) = 11
Decina2(1) = 12
Decina2(2) = 13
Decina2(3) = 14
Decina2(4) = 15
Decina2(5) = 16
Decina2(6) = 17
Decina2(7) = 18
Decina2(8) = 19
Decina2(9) = 20

Decina3(0) = 21
Decina3(1) = 22
Decina3(2) = 23
Decina3(3) = 24
Decina3(4) = 25
Decina3(5) = 26
Decina3(6) = 27
Decina3(7) = 28
Decina3(8) = 29
Decina3(9) = 30

Decina4(0) = 31
Decina4(1) = 32
Decina4(2) = 33
Decina4(3) = 34
Decina4(4) = 35
Decina4(5) = 36
Decina4(6) = 37
Decina4(7) = 38
Decina4(8) = 39
Decina4(9) = 40

Decina5(0) = 41
Decina5(1) = 42
Decina5(2) = 43
Decina5(3) = 44
Decina5(4) = 45
Decina5(5) = 46
Decina5(6) = 47
Decina5(7) = 48
Decina5(8) = 49
Decina5(9) = 50

Decina6(0) = 51
Decina6(1) = 52
Decina6(2) = 53
Decina6(3) = 54
Decina6(4) = 55
Decina6(5) = 56
Decina6(6) = 57
Decina6(7) = 58
Decina6(8) = 59
Decina6(9) = 60

Decina7(0) = 61
Decina7(1) = 62
Decina7(2) = 63
Decina7(3) = 64
Decina7(4) = 65
Decina7(5) = 66
Decina7(6) = 67
Decina7(7) = 68
Decina7(8) = 69
Decina7(9) = 70

Decina8(0) = 71
Decina8(1) = 72
Decina8(2) = 73
Decina8(3) = 74
Decina8(4) = 75
Decina8(5) = 76
Decina8(6) = 77
Decina8(7) = 78
Decina8(8) = 79
Decina8(9) = 80

Decina9(0) = 81
Decina9(1) = 82
Decina9(2) = 83
Decina9(3) = 84
Decina9(4) = 85
Decina9(5) = 86
Decina9(6) = 87
Decina9(7) = 88
Decina9(8) = 89
Decina9(9) = 90



Scrivi "Che numero appare? " & aNum(1) & aNum(3)

Dim contatore

For contatore = 1 To UBound(aNum)

Dim contatoredecina

Dim Decinacostruita(10)

'For contatoredecina = 0 To 9


'For ($x=1;$x<91;$x++)  {
'For ($y=$x;$y<91;$y++)  {
'For ($z=$y;$z<91;$z++)  {


For Decinacostruita(0) = 1 To UBound(aNum)
For Decinacostruita(1) = Decinacostruita(0) To UBound(aNum)
For Decinacostruita(2) = Decinacostruita(1) To UBound(aNum)
For Decinacostruita(3) = Decinacostruita(2) To UBound(aNum)
For Decinacostruita(4) = Decinacostruita(3) To UBound(aNum)
For Decinacostruita(5) = Decinacostruita(4) To UBound(aNum)
For Decinacostruita(6) = Decinacostruita(5) To UBound(aNum)
For Decinacostruita(7) = Decinacostruita(6) To UBound(aNum)
For Decinacostruita(8) = Decinacostruita(7) To UBound(aNum)
For Decinacostruita(9) = Decinacostruita(8) To UBound(aNum)


'controllo ulteriore...

'solo se Decinacostruita(0), Decinacostruita(1), Decinacostruita(2)
'Decinacostruita(3), Decinacostruita(4), Decinacostruita(5), Decinacostruita(6)
'Decinacostruita(7), Decinacostruita(8), Decinacostruita(9)

'appartengono a decine diverse... stampa a video il risultato...


Scrivi(Decinacostruita(0) & Decinacostruita(1) & Decinacostruita(2) & Decinacostruita(3) & Decinacostruita(4) & Decinacostruita(5) & Decinacostruita(6) & Decinacostruita(7) & Decinacostruita(8) & Decinacostruita(9))




Next
Next
Next
Next
Next
Next
Next
Next
Next










'Next


If aNum(contatore) = 80 Then

Scrivi "individuato " & aNum(contatore)

End If

Next


ReDim aRuoteSel(12)
'RuoteSelezionate = ScegliRuote(aRuoteSel)




'tentativo di identificare la/e ruota/e selezionata/e






	'Dim RuoteSelezionate
	'Dim k
	ReDim aRuoteSel(12)
	RuoteSelezionate = ScegliRuote(aRuoteSel)
	
	Call Scrivi(" ---------------------------------------------------------------- ")
	Call Scrivi(" Le ruote sottostanti nella ricerca vengono considerate SEPARATE! ")
	Call Scrivi(" ---------------------------------------------------------------- ")


	For k = 1 To RuoteSelezionate
		Call Scrivi("Scelta ruota " & NomeRuota(aRuoteSel(k)) & " - " & SiglaRuota(aRuoteSel(k)))
		
	Next










'----------fine dichiarazione variabili-------------------------------

'Call StatisticaFormazioneTurbo(aCol,aRuote,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq,Inizio,Fine)


'Assegno alla sorte ricercata il valore 3
nSorte = 3

'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
'For k = 1 To 90
'aNum(k) = k
'Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 3


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


ReDim aRuoteTmp(1)


For k = 1 To RuoteSelezionate
		
		'Call Scrivi("Scelta ruota " & NomeRuota(aRuoteSel(k)) & " - " & SiglaRuota(aRuoteSel(k)))
aRuoteTmp(1) = aRuoteSel(k)


'RetRit1 = RitardoCombinazioneTurbo(aRuoteTmp,aCol,nSorte,Fine)

'RetRit1 = StatisticaFormazioneTurbo(aCol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq,Inizio,Fine)

'RetRit1 = RitardoCombinazioneTurbo (aRuoteTmp,aCol,nSorte,Fine)

Call StatisticaFormazioneTurbo(aCol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq)

Dim Diff
Diff = RetRitMax - RetRit1

'Se questi ritardi sono maggiori di 1830 estrazioni
'If RetFreq > 0 Then
'If RetIncrRitMax > 0 Then

'If(RetRit1 >= 0) Then

Dim rapportoRARS
rapportoRARS = RetRit1/RetRitMax

If(RetRit1 >= 0) Then' And RetIncrRitMax = 0) Then
'If(RetRit1 >= 0 And Diff < 10 And RetIncrRitMax = 0) Then

'Call Scrivi("---QUI CI ANDREBBE IL NOME DELLA RUOTA ANALIZZATA---")
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
'Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1 & " RUOTA: " & NomeRuota(aRuoteSel(k)))

Call Scrivi(StringaNumeri(aCol))

End If


'---Procedura analoga per la ruota di CA e FI
'fine procedura analoga per CA e FI


'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Next
Loop
End If
End Sub

Ma non ho ben chiaro cosa ho fatto :) e per quanto riguarda l'esito... lo script carica all'infinito senza ovviamente mostrare nulla... :mad:

L'unico risultato positivo per adesso è.. che non da errore... :rolleyes:
 
Ultima modifica:
Guarda Tom hai sbagliato praticamente tutto.
iniziamo da qui

Codice:
For Decinacostruita(0) = 1 To UBound(aNum)
For Decinacostruita(1) = Decinacostruita(0) To UBound(aNum)
For Decinacostruita(2) = Decinacostruita(1) To UBound(aNum)
For Decinacostruita(3) = Decinacostruita(2) To UBound(aNum)
For Decinacostruita(4) = Decinacostruita(3) To UBound(aNum)
For Decinacostruita(5) = Decinacostruita(4) To UBound(aNum)
For Decinacostruita(6) = Decinacostruita(5) To UBound(aNum)
For Decinacostruita(7) = Decinacostruita(6) To UBound(aNum)
For Decinacostruita(8) = Decinacostruita(7) To UBound(aNum)
For Decinacostruita(9) = Decinacostruita(8) To UBound(aNum)

Che è quell'array Decinacostruita ?
allora nel tuo codice hai creato 9 diversi array e cioe da Decina1 a Decina9 , ognuno di questi contiene 10 numeri.
Questa cosa l'hai fatta bene.
Torniamo a cio che ti serve , devi combinare i numeri di tutti gli array uno alla volta in una combinazione di 9 numeri.
quindi va predisposto un array di 9 elementi che di volta in volta conterra una serie di numeri, cioè la colonna sviluppata.
Questo array lo dichiareremo con redim aColonna(9)
Come fare per combinare i numeri dei 9 array e sviluppare le colonne ?
Si fa con 9 cicili nidificati !
Quindi dichiariamo 9 variabili per gestire i 9 cicli ,saranno le variabili k1,k2,k3,k4,k5,k6,k7,k8,k9
poi facciamo sti famosi cicli nidificati , sono 9 uno dentro l'altro ,
il ciclo piu interno è ovviamente quello gestito da k9
Benissmimo ! E' proprio dentro questo ciclo che andiamo a costruire la colonna di sviluppo.

Codice:
aColonna(1) = Decina1(k1)
aColonna(2) = Decina2(k2)
--
--
aColonna(9) = Decina9(k9)

dopo che hai alimentato l'array disponi della colonna da analizzare , proprio per l'algoritmo usato avrai solo colonne contenenti numeri di decine diverse.
Ora ti do la brutta notizia , un siffatto sistem produce 10^9 colonne se non erro ...
pero il concetto è identico e lo puoi usare per creare combinazioni di classe piu piccola e lavorando anche sui contenuti degli array di base (i famosi Decina1, Decina2 ecc)
 
Ultima modifica di un moderatore:
Guarda Tom hai sbagliato praticamente tutto.
iniziamo da qui

Codice:
For Decinacostruita(0) = 1 To UBound(aNum)
For Decinacostruita(1) = Decinacostruita(0) To UBound(aNum)
For Decinacostruita(2) = Decinacostruita(1) To UBound(aNum)
For Decinacostruita(3) = Decinacostruita(2) To UBound(aNum)
For Decinacostruita(4) = Decinacostruita(3) To UBound(aNum)
For Decinacostruita(5) = Decinacostruita(4) To UBound(aNum)
For Decinacostruita(6) = Decinacostruita(5) To UBound(aNum)
For Decinacostruita(7) = Decinacostruita(6) To UBound(aNum)
For Decinacostruita(8) = Decinacostruita(7) To UBound(aNum)
For Decinacostruita(9) = Decinacostruita(8) To UBound(aNum)

Che è quell'array Decinacostruita ?
allora nel tuo codice hai creato 9 diversi array e cioe da Decina1 a Decina9 , ognuno di questi contiene 10 numeri.
Questa cosa l'hai fatta bene.
Torniamo a cio che ti serve , devi combinare i numeri di tutti gli array uno alla volta in una combinazione di 9 numeri.
quindi va predisposto un array di 9 elementi che di volta in volta conterra una serie di numeri, cioè la colonna sviluppata.
Questo array lo dichiareremo con redim aColonna(9)
Come fare per combinare i numeri dei 9 array e sviluppare le colonne ?
Si fa con 9 cicili nidificati !
Quindi dichiariamo 9 variabili per gestire i 9 cicli ,saranno le variabili k1,k2,k3,k4,k5,k6,k7,k8,k9
poi facciamo sti famosi cicli nidificati , sono 9 uno dentro l'altro ,
il ciclo piu interno è ovviamente quello gestito da k9
Benissmimo ! E' proprio dentro questo ciclo che andiamo a costruire la colonna di sviluppo.

Codice:
aColonna(1) = Decina1(k1)
aColonna(2) = Decina2(k2)
--
--
aColonna(9) = Decina9(k9)

dopo che hai alimentato l'array disponi della colonna da analizzare , proprio per l'algoritmo usato avrai solo colonne contenenti numeri di decine diverse.
Ora ti do la brutta notizia , un siffatto sistem produce 10^9 colonne se non erro ...
pero il concetto è identico e lo puoi usare per creare combinazioni di classe piu piccola e lavorando anche sui contenuti degli array di base (i famosi Decina1, Decina2 ecc)

Dunque luigi, ho provato a tradurre quanto mi hai detto di fare... però ovviamente devo aver fatto un intorcinamento non da poco perchè mi si pianta lo script e non riesco nè a bloccarlo nè a vedere la progress bar dell'elaborazione...

Codice:
Option Explicit
Sub Main


Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim nSorte,Fine,RetRit1,QuantitaNumeriScelti,aRuoteSel,RuoteSelezionate,RetRitMax,RetIncrRitMax,RetFreq,Inizio
Dim ColTot
'ReDim aRuote(1)


ReDim aNum(0)
QuantitaNumeriScelti = ScegliNumeri(aNum)



Dim Decina1(10)
Dim Decina2(10)
Dim Decina3(10)
Dim Decina4(10)
Dim Decina5(10)
Dim Decina6(10)
Dim Decina7(10)
Dim Decina8(10)
Dim Decina9(10)


Decina1(0) = 1
Decina1(1) = 2
Decina1(2) = 3
Decina1(3) = 4
Decina1(4) = 5
Decina1(5) = 6
Decina1(6) = 7
Decina1(7) = 8
Decina1(8) = 9
Decina1(9) = 10

Decina2(0) = 11
Decina2(1) = 12
Decina2(2) = 13
Decina2(3) = 14
Decina2(4) = 15
Decina2(5) = 16
Decina2(6) = 17
Decina2(7) = 18
Decina2(8) = 19
Decina2(9) = 20

Decina3(0) = 21
Decina3(1) = 22
Decina3(2) = 23
Decina3(3) = 24
Decina3(4) = 25
Decina3(5) = 26
Decina3(6) = 27
Decina3(7) = 28
Decina3(8) = 29
Decina3(9) = 30

Decina4(0) = 31
Decina4(1) = 32
Decina4(2) = 33
Decina4(3) = 34
Decina4(4) = 35
Decina4(5) = 36
Decina4(6) = 37
Decina4(7) = 38
Decina4(8) = 39
Decina4(9) = 40

Decina5(0) = 41
Decina5(1) = 42
Decina5(2) = 43
Decina5(3) = 44
Decina5(4) = 45
Decina5(5) = 46
Decina5(6) = 47
Decina5(7) = 48
Decina5(8) = 49
Decina5(9) = 50

Decina6(0) = 51
Decina6(1) = 52
Decina6(2) = 53
Decina6(3) = 54
Decina6(4) = 55
Decina6(5) = 56
Decina6(6) = 57
Decina6(7) = 58
Decina6(8) = 59
Decina6(9) = 60

Decina7(0) = 61
Decina7(1) = 62
Decina7(2) = 63
Decina7(3) = 64
Decina7(4) = 65
Decina7(5) = 66
Decina7(6) = 67
Decina7(7) = 68
Decina7(8) = 69
Decina7(9) = 70

Decina8(0) = 71
Decina8(1) = 72
Decina8(2) = 73
Decina8(3) = 74
Decina8(4) = 75
Decina8(5) = 76
Decina8(6) = 77
Decina8(7) = 78
Decina8(8) = 79
Decina8(9) = 80

Decina9(0) = 81
Decina9(1) = 82
Decina9(2) = 83
Decina9(3) = 84
Decina9(4) = 85
Decina9(5) = 86
Decina9(6) = 87
Decina9(7) = 88
Decina9(8) = 89
Decina9(9) = 90



'Quindi dichiariamo 9 variabili per gestire i 9 cicli ,saranno le variabili k1,k2,k3,k4,k5,k6,k7,k8,k9
'poi facciamo sti famosi cicli nidificati , sono 9 uno dentro l'altro ,
'il ciclo piu interno è ovviamente quello gestito da k9
'Benissmimo ! E' proprio dentro questo ciclo che andiamo a costruire la colonna di sviluppo.

Dim k1,k2,k3,k4,k5,k6,k7,k8,k9

Dim acolonna(9)

acolonna(1) = Decina1(k1)
acolonna(2) = Decina2(k2)
acolonna(3) = Decina2(k3)
acolonna(4) = Decina2(k4)
acolonna(5) = Decina2(k5)
acolonna(6) = Decina2(k6)
acolonna(7) = Decina2(k7)
acolonna(8) = Decina2(k8)
acolonna(9) = Decina9(k9)


For k1 = 1 To 10

For k2 = 1 To 10

For k3 = 1 To 10

For k4 = 1 To 10

For k5 = 1 To 10

For k6 = 1 To 10

For k7 = 1 To 10

For k8 = 1 To 10

For k9 = 1 To 10 ' nel ciclo più interno (k9) costruisco la colonna di sviluppo...

Scrivi acolonna(1) & acolonna(2) & acolonna(3) & acolonna(4) & acolonna(5) & acolonna(6) & acolonna(7) & acolonna(8) & acolonna(9) 		

Next
		
Next
		
Next
		
Next
		
Next
		
Next

		
Next

		
Next

		
Next




'dopo che hai alimentato l'array disponi della colonna da analizzare ,
'proprio per l'algoritmo usato avrai solo colonne contenenti numeri di decine diverse.
'Ora ti Do la brutta notizia , un siffatto sistem produce 10^9 colonne se non erro ...
'pero il concetto è identico e lo puoi usare per creare Combinazioni di Classe piu piccola
'e lavorando anche sui contenuti degli Array di Base (i famosi Decina1, Decina2 ecc)












	'Dim RuoteSelezionate
	'Dim k
	ReDim aRuoteSel(12)
	RuoteSelezionate = ScegliRuote(aRuoteSel)
	
	Call Scrivi(" ---------------------------------------------------------------- ")
	Call Scrivi(" Le ruote sottostanti nella ricerca vengono considerate SEPARATE! ")
	Call Scrivi(" ---------------------------------------------------------------- ")


	For k = 1 To RuoteSelezionate
		Call Scrivi("Scelta ruota " & NomeRuota(aRuoteSel(k)) & " - " & SiglaRuota(aRuoteSel(k)))
		
	Next










'----------fine dichiarazione variabili-------------------------------

'Call StatisticaFormazioneTurbo(aCol,aRuote,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq,Inizio,Fine)


'Assegno alla sorte ricercata il valore 3
nSorte = 3

'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
'For k = 1 To 90
'aNum(k) = k
'Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 3


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


ReDim aRuoteTmp(1)


For k = 1 To RuoteSelezionate
		
		'Call Scrivi("Scelta ruota " & NomeRuota(aRuoteSel(k)) & " - " & SiglaRuota(aRuoteSel(k)))
aRuoteTmp(1) = aRuoteSel(k)


'RetRit1 = RitardoCombinazioneTurbo(aRuoteTmp,aCol,nSorte,Fine)

'RetRit1 = StatisticaFormazioneTurbo(aCol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq,Inizio,Fine)

'RetRit1 = RitardoCombinazioneTurbo (aRuoteTmp,aCol,nSorte,Fine)

Call StatisticaFormazioneTurbo(aCol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq)

Dim Diff
Diff = RetRitMax - RetRit1

'Se questi ritardi sono maggiori di 1830 estrazioni
'If RetFreq > 0 Then
'If RetIncrRitMax > 0 Then

'If(RetRit1 >= 0) Then

Dim rapportoRARS
rapportoRARS = RetRit1/RetRitMax

If(RetRit1 >= 0) Then' And RetIncrRitMax = 0) Then
'If(RetRit1 >= 0 And Diff < 10 And RetIncrRitMax = 0) Then

'Call Scrivi("---QUI CI ANDREBBE IL NOME DELLA RUOTA ANALIZZATA---")
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
'Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1 & " RUOTA: " & NomeRuota(aRuoteSel(k)))

Call Scrivi(StringaNumeri(aCol))

End If


'---Procedura analoga per la ruota di CA e FI
'fine procedura analoga per CA e FI


'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Next
Loop
End If
End Sub
 
Tom ... me lo fai apposta ?

questo pezzo secondo te messo li dove lo hai messo va bene ? oppure io avevo detto cje doveva stare all'interno del ciclo piu interno ?
Codice:
acolonna(1) = Decina1(k1)
acolonna(2) = Decina2(k2)
acolonna(3) = Decina2(k3)
acolonna(4) = Decina2(k4)
acolonna(5) = Decina2(k5)
acolonna(6) = Decina2(k6)
acolonna(7) = Decina2(k7)
acolonna(8) = Decina2(k8)
acolonna(9) = Decina9(k9)

tutte le operazioni vanno fatte dentro questo ciclo dopo aver almentato la colonna , la progressbar la puoi alimentare considerando il valore di k9 rispetto a 10 ma in questo modo girera un sacco di volte .. senno devi calcolare quante colonne verrannno prodotte a priori e usare un contatore
 
Ultima modifica di un moderatore:

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 21 gennaio 2025
    Bari
    78
    09
    70
    03
    23
    Cagliari
    32
    88
    30
    13
    45
    Firenze
    87
    23
    15
    39
    86
    Genova
    71
    48
    67
    59
    23
    Milano
    58
    50
    80
    85
    29
    Napoli
    90
    81
    79
    82
    62
    Palermo
    70
    33
    90
    05
    10
    Roma
    15
    71
    55
    85
    76
    Torino
    89
    09
    18
    33
    69
    Venezia
    44
    80
    82
    73
    58
    Nazionale
    80
    25
    13
    63
    17
    Estrazione Simbolotto
    Bari
    39
    36
    34
    14
    31
Indietro
Alto