Novità

RICHIESTA...

Complimenti joe ora che lo hai scritto c'è un max storico su tre numeri consecutivi. Eccezionale!

Tom ho mandato il tuo script ma hai fatto una griglia di 3 numeri e poi altri tre numeri se capisco bene, ma in realtà lo script dovrebbe riprendere due estrazioni della precedente griglia e poi andare avanti...

cioè così...

conta 1
conta 2
conta 3

poi

conta 2
conta 3
conta 4

etc...
fammi sapere se intendo male l'output...
saluti!!

si per adesso considera gruppi di tre a tre... (la modifica che richiedi non penso sia così troppo ardua da attuare ma al momento non mi sovviene alcuna soluzione...) :unsure:

intanto adesso lo script fa anche a questo... (c'è da implementare il filtro di riconoscimento della tipologia di terzina voluta o meno)

Codice:
Option Explicit
Sub Main
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   numeroestrazioni = 369
   ruota = BA_
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   Dim contaes
   Dim guprimitreestrattiisocronicontinui
   Dim vettoreguprimitreestrattiisocronicontinui
   guprimitreestrattiisocronicontinui = ""
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & fine - Inizio
   Scrivi
   For es = Inizio To fine
      contaes = contaes + 1
      Scrivi NomeRuota(ruota) & " - " & StringaEstratti(es,ruota,".")
      Scrivi "primo estratto <b>" & Estratto(es,ruota,1) & "</b> es " & es & " -  conta " & contaes,,,,vbRed
      guprimitreestrattiisocronicontinui = guprimitreestrattiisocronicontinui & Estratto(es,ruota,1) & "."
      If ScriptInterrotto Then Exit For
      If contaes Mod 3 = 0 Then
         ' Restituisci una riga di output ogni tre valori di es
         Scrivi "-----------------------------------------"
         Scrivi "gu primi tre estratti isocroni continui  " & guprimitreestrattiisocronicontinui,,,,vbBlue
         'controllo filtro su tipo di terzina formata...
         'è una terzina consecutiva o del tipo che uno vuole? SI/NO...
         'se si procedi con l'analisi statistica... posizionale altrimenti saltala...
         Call SplitByChar(guprimitreestrattiisocronicontinui,".",vettoreguprimitreestrattiisocronicontinui)
         Scrivi "primo elemento da verificare |" & vettoreguprimitreestrattiisocronicontinui(0) & "|"
         Scrivi "secondo elemento da verificare |" & vettoreguprimitreestrattiisocronicontinui(1) & "|"
         Scrivi "terzo elemento da verificare |" & vettoreguprimitreestrattiisocronicontinui(2) & "|"
        
 'fine filtro e analisi statistica eventuale su tipo di terzina formata
         '--------------------------------------------------------
         guprimitreestrattiisocronicontinui = ""
         ' End If
      End If
      Scrivi
   Next ' x es
End Sub

Gli amici joe e ilegend se vogliono e possono ottimizzarlo hanno carta bianca! :D
 
Adesso consente di scegliere ruota e posizione singola da esaminare e soprattutto ha attivo il filtro di scelta delle terzine formate. Se sono consecutive si può procedere con l'analisi di tipo posizionale (ancora da fare) altrimenti vengono saltate... Ovviamente il filtro di esclusione o accettazione della "terzina posizionale" di volta in volta formata è modificabile a piacere... quindi in futuro se deciderai di analizzare altro tipo di terzine "posizionali isocrone continue" che non siano + consecutive ma ad esempio terzine simmetriche... potrai farlo modificando opportunatamente quel pezzo di codice relativo al filtro.

Codice:
Option Explicit
Sub Main
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   numeroestrazioni = 3000
   ruota = ScegliRuota
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   Dim contaes
   Dim guprimitreestrattiisocronicontinui
   Dim vettoreguprimitreestrattiisocronicontinui
   ReDim vettoreguprimitreestrattiisocronicontinui(2) ' Dichiarazione del vettore
   Dim Posizionevoluta
   Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   guprimitreestrattiisocronicontinui = ""
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & fine - Inizio
   Scrivi
   For es = Inizio To fine
      contaes = contaes + 1
      Scrivi NomeRuota(ruota) & " - " & StringaEstratti(es,ruota,".")
      Scrivi "posizione <b>" & Posizionevoluta & " | " & Estratto(es,ruota,Posizionevoluta) & "</b> es " & es & " -  conta " & contaes,,,,vbRed
      guprimitreestrattiisocronicontinui = guprimitreestrattiisocronicontinui & Estratto(es,ruota,1) & "."
      If ScriptInterrotto Then Exit For
      If contaes Mod 3 = 0 Then
         ' Restituisci una riga di output ogni tre valori di es
         Scrivi "-----------------------------------------"
         ' Controllo filtro su tipo di terzina formata...
         ' Estrai i valori da stringa e convertili in interi
         vettoreguprimitreestrattiisocronicontinui = Split(guprimitreestrattiisocronicontinui,".")
         vettoreguprimitreestrattiisocronicontinui(0) = CInt(vettoreguprimitreestrattiisocronicontinui(0))
         vettoreguprimitreestrattiisocronicontinui(1) = CInt(vettoreguprimitreestrattiisocronicontinui(1))
         vettoreguprimitreestrattiisocronicontinui(2) = CInt(vettoreguprimitreestrattiisocronicontinui(2))
         ' Ordina il vettore in modo crescente
         Call BubbleSort(vettoreguprimitreestrattiisocronicontinui)
         ' Verifica se sono elementi consecutivi
         If vettoreguprimitreestrattiisocronicontinui(0) + 1 = vettoreguprimitreestrattiisocronicontinui(1) And _
            vettoreguprimitreestrattiisocronicontinui(1) + 1 = vettoreguprimitreestrattiisocronicontinui(2) Then
            Scrivi "I tre elementi sono consecutivi possiamo procedere con l'analisi di tipo posizionale!.",True,,,vbBlue
         Else
            Scrivi "I tre elementi non sono consecutivi la formazione verrà saltata!.",,,,vbRed
         End If
         ' Fine filtro e analisi statistica eventuale su tipo di terzina formata
         ' --------------------------------------------------------
         guprimitreestrattiisocronicontinui = ""
         ReDim vettoreguprimitreestrattiisocronicontinui(2) ' Reimposta il vettore
      End If
      Scrivi
   Next ' x es
End Sub
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub
 
Altro piccolo upgrade... 😅

Codice:
Option Explicit
Sub Main
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   numeroestrazioni = CInt(InputBox("quante ultime estrazioni esaminare?",,10000))
   ruota = ScegliRuota
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   Dim contaes
   Dim guprimitreestrattiisocronicontinui
   Dim vettoreguprimitreestrattiisocronicontinui
   ReDim vettoreguprimitreestrattiisocronicontinui(2) ' Dichiarazione del vettore
   Dim Posizionevoluta
   Dim terzinedoctrovate
   Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   guprimitreestrattiisocronicontinui = ""
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & fine - Inizio
   Scrivi
   For es = Inizio To fine
      contaes = contaes + 1
      ' For Posizionevoluta = 1 To 4
      Scrivi NomeRuota(ruota) & " - " & StringaEstratti(es,ruota,".")
      Scrivi "posizione <b>" & Posizionevoluta & " | " & Estratto(es,ruota,Posizionevoluta) & "</b> es " & es & " -  conta " & contaes,,,,vbRed
      guprimitreestrattiisocronicontinui = guprimitreestrattiisocronicontinui & Estratto(es,ruota,1) & "."
      If contaes Mod 3 = 0 Then
         ' Restituisci una riga di output ogni tre valori di es
         Scrivi "-----------------------------------------"
         ' Controllo filtro su tipo di terzina formata...
         ' Estrai i valori da stringa e convertili in interi
         vettoreguprimitreestrattiisocronicontinui = Split(guprimitreestrattiisocronicontinui,".")
         vettoreguprimitreestrattiisocronicontinui(0) = CInt(vettoreguprimitreestrattiisocronicontinui(0))
         vettoreguprimitreestrattiisocronicontinui(1) = CInt(vettoreguprimitreestrattiisocronicontinui(1))
         vettoreguprimitreestrattiisocronicontinui(2) = CInt(vettoreguprimitreestrattiisocronicontinui(2))
         ' Ordina il vettore in modo crescente
         Call BubbleSort(vettoreguprimitreestrattiisocronicontinui)
         ' Verifica se sono elementi consecutivi
         If vettoreguprimitreestrattiisocronicontinui(0) + 1 = vettoreguprimitreestrattiisocronicontinui(1) And _
            vettoreguprimitreestrattiisocronicontinui(1) + 1 = vettoreguprimitreestrattiisocronicontinui(2) Then
            Scrivi "I tre elementi sono consecutivi possiamo procedere con l'analisi di tipo posizionale!.",True,,,vbBlue
            terzinedoctrovate = terzinedoctrovate + 1
         Else
            Scrivi "I tre elementi non sono consecutivi la formazione verrà saltata!.",,,,vbRed
         End If
         ' Fine filtro e analisi statistica eventuale su tipo di terzina formata
         ' --------------------------------------------------------
         guprimitreestrattiisocronicontinui = ""
         ReDim vettoreguprimitreestrattiisocronicontinui(2) ' Reimposta il vettore
      End If
      Scrivi
      '  If ScriptInterrotto Then Exit For
      ' Next ' x posizionevoluta
      Messaggio(es & " - n.es " & contaes & " su " & numeroestrazioni & " es. tot " & " terzine doc trovate " & terzinedoctrovate)
      Call AvanzamentoElab(1,fine,es)
      If ScriptInterrotto Then Exit For
   Next ' x es
End Sub
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub

ps: Le condizioni che ricerchi sembrano essere davvero rare... Se metti BA ultime 10000 es e posizione 1 ne trova solo una! (anche se adesso non le conta proprio tutte come vorresti ma solo di tre in tre...)
 
Tom ...

ti ringrazio per l'invito, ma preferisco sempre evitare di mettere mano a script di altri.

Per i numeri in distanza 30 per il 1° Estratto determinato ho questo risultato

giustamente riferibile ad un gruppo più ristretto di combinazioni

8083 27/06/2009 TO 19.49.79 STO 100

:)
 
joe mi hai fulminato...complimenti ancora...non so se hai questi dati...

Questo il dato sulla terzina simmetrica

-1-31-61- max rit.17 colpi

BARI POS.2 (terzina anche ordinata e decrescente)


7249-61
7250-31-
7251- 1-

7261-1- Rit. 10 colpi

================================================

MILANO POS.5 (terzina anche ordinata e crescente)


5502-1
5503-31-
5504- 61-

5521-1- Rit. 17 colpi


Buona serata a tutti e grazie!
 
A mio parere potrebbe essere interessante anche verificare come si comporta, almeno per le terzine più conosciute come le simmetriche o la coesione matematica o altre ancora, il dato del max storico, se la terzina è presente in forma crescente e/o decrescente, cioè nella forma direi pura.
saluti!
 
Ciao a tutti, in questa versione 8 (da controllare e verificare per i risultati) dovrebbe essere risolto anche il problema delle mancate estrazioni consecutive precedentemente saltate...

Codice:
Option Explicit
Sub Main
   ' rilevamento terzine consecutive isocrone continue e loro statistica posizionale relativa per estratto x ricerca di micro_ ;  listato by tom  script versione 8
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   Dim contaes
   Dim terzinedoctrovate
   numeroestrazioni = CInt(InputBox("Quante ultime estrazioni esaminare?",,10000))
   Dim Posizionevoluta
   Dim variabiledicontrollo
   Dim aruota(1)
   Dim aposizione(1)
   variabiledicontrollo = "0"
   Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   Dim vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   vuoivederetutteleestrazioniosololeterzinedocxilfiltro = InputBox("Vuoi vedere tutte le estrazioni per eventuale verifica di ricerca (v) o solo le terzine doc x il filtro (f) ?",,"v")
   ruota = ScegliRuota
   aruota(1) = ruota
   aposizione(1) = Posizionevoluta
   Dim ritp,ritmaxp,Incmaxp,freqp
   Dim sortediricercaposizionale
   sortediricercaposizionale = 1
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   contaes = 0
   terzinedoctrovate = 0 ' Inizializza il conteggio delle terzine trovate
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & numeroestrazioni
   Scrivi "Ruota analizzata " & NomeRuota(ruota)
   Scrivi "Posizione esaminata " & Posizionevoluta
   Scrivi "Sorte posizionale di studio " & sortediricercaposizionale
   Scrivi "Tipo di formazioni isocrone continue rilevate e analizzate: <b>terzine consecutive</b> "
   Scrivi "Modalità di visualizzazione output : solo terzine doc (f) o tutte le estrazioni del range temporale voluto (v) : " & vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   Scrivi
   For es = Inizio To fine - 2
      contaes = contaes + 1
      ReDim vettoreterzina(2)
      vettoreterzina(0) = CleanAndConvertToInt(Estratto(es,ruota,Posizionevoluta))
      vettoreterzina(1) = CleanAndConvertToInt(Estratto(es + 1,ruota,Posizionevoluta))
      vettoreterzina(2) = CleanAndConvertToInt(Estratto(es + 2,ruota,Posizionevoluta))
      If vuoivederetutteleestrazioniosololeterzinedocxilfiltro = "v" Then
         Scrivi "n.es " & GetInfoEstrazione(es) & " x posizione " & Posizionevoluta & " estratti " & StringaEstratti(es,ruota,".") ' <  decommentare questa riga se si vuole verificare che lo script rilevi correttamente i numeri In Posizione voluta In Base alle tre estrazioni consecutive
      End If
      If Not IsNumeric(vettoreterzina(0)) Or Not IsNumeric(vettoreterzina(1)) Or Not IsNumeric(vettoreterzina(2)) Then
         ' Non è possibile convertire uno o più elementi in numeri interi
         ' Ignora questa iterazione
         Exit For
      End If
      Call BubbleSort(vettoreterzina)
      If vettoreterzina(0) + 1 = vettoreterzina(1) And _
         vettoreterzina(1) + 1 = vettoreterzina(2) Then
         ' Analizza qui la terzina consecutiva
         ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
         variabiledicontrollo = "1"
         terzinedoctrovate = terzinedoctrovate + 1
      End If
      '
      If variabiledicontrollo = "1" Then
         Scrivi "<b>Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
         Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta
         Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
         Scrivi "p1 : " & "ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
         variabiledicontrollo = "0"
      Else
         variabiledicontrollo = "0"
      End If
      Messaggio "n. terzine doc trovate... " & terzinedoctrovate
      Call AvanzamentoElab(1,fine - 2,es)
      If ScriptInterrotto Then Exit For
   Next ' x es
 

   Scrivi
   Scrivi "Totale terzine consecutive trovate: " & terzinedoctrovate
   Scrivi
   Scrivi "Tempo trascorso " & TempoTrascorso

End Sub
Function CleanAndConvertToInt(Str)
   ' Rimuovi eventuali spazi o caratteri non numerici dalla stringa
   Dim cleanedStr
   cleanedStr = Replace(Str," ","")
   cleanedStr = Replace(cleanedStr,".","")
   ' Converte la stringa in intero se possibile
   If IsNumeric(cleanedStr) Then
      CleanAndConvertToInt = CInt(cleanedStr)
   Else
      CleanAndConvertToInt = Str ' Restituisci la stringa originale se non è un numero
   End If
End Function
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub


Questa versione 10 invece consente l'analisi in tempi abbastanza rapidi di tutte le ruote e di tutte le posizioni sempre in rapporto alla tipologia di terzina consecutiva isocrona continua eventualmente riscontrata e di avere un quadro generale + o meno dettagliato in merito anche alla differenza minima posizionale di questo particolare tipo rilevata. Anche questa versione ovviamente è da testare e ritestare per rilevare eventuali errori logici e di output...

Codice:
Option Explicit
Sub Main
   ' rilevamento terzine consecutive isocrone continue e loro statistica posizionale relativa per estratto x ricerca di micro_ ;  listato by tom  script versione 10
   ' questa versione 10 permette di analizzare tutte le ruote e tutte le posizioni rilevando anche il valore minore di differenza posizionale isocrona continua per terzine consecutive...
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   Dim contaes
   Dim terzinedoctrovate
   numeroestrazioni = CInt(InputBox("Quante ultime estrazioni esaminare?",,369))
   Dim Posizionevoluta
   Dim variabiledicontrollo
   Dim aruota(1)
   Dim aposizione(1)
   variabiledicontrollo = "0"
 
   Dim Differenzaposizionale
 
   Dim Differenzaposizionaleminima
   Dim ruotacondifferenzaposizionaleminima
   Dim Posizionecondifferenzaposizionaleminima
   Dim Formazionecondifferenzaposizionaleminima
 
   Differenzaposizionaleminima = EstrazioneFin
 
   'Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   Dim vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   vuoivederetutteleestrazioniosololeterzinedocxilfiltro = InputBox("Vuoi vedere tutte le estrazioni per eventuale verifica di ricerca (v) o solo le terzine doc x il filtro (f) ?",,"v")
   'ruota = ScegliRuota
   aruota(1) = ruota
   aposizione(1) = Posizionevoluta
   Dim ritp,ritmaxp,Incmaxp,freqp
   Dim sortediricercaposizionale
   sortediricercaposizionale = 1
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   contaes = 0
   terzinedoctrovate = 0 ' Inizializza il conteggio delle terzine trovate
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & numeroestrazioni
   Scrivi "Ruota analizzata " & NomeRuota(ruota)
   Scrivi "Posizione esaminata " & Posizionevoluta
   Scrivi "Sorte posizionale di studio " & sortediricercaposizionale
   Scrivi "Tipo di formazioni isocrone continue rilevate e analizzate: <b>terzine consecutive</b> "
   Scrivi "Modalità di visualizzazione output : solo terzine doc (f) o tutte le estrazioni del range temporale voluto (v) : " & vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   Scrivi
   For es = Inizio To fine - 2
      contaes = contaes + 1
      ReDim vettoreterzina(2)
  
      For ruota = 1 To 12
  
      If ruota = 11 Then ruota = 12
  
      aruota(1) = ruota
  
      For Posizionevoluta = 1 To 5
  
      aposizione(1) = Posizionevoluta
  
      vettoreterzina(0) = CleanAndConvertToInt(Estratto(es,ruota,Posizionevoluta))
      vettoreterzina(1) = CleanAndConvertToInt(Estratto(es + 1,ruota,Posizionevoluta))
      vettoreterzina(2) = CleanAndConvertToInt(Estratto(es + 2,ruota,Posizionevoluta))
      If vuoivederetutteleestrazioniosololeterzinedocxilfiltro = "v" Then
         Scrivi "n.es " & GetInfoEstrazione(es) & " x posizione " & Posizionevoluta & " estratti " & StringaEstratti(es,ruota,".") ' <  decommentare questa riga se si vuole verificare che lo script rilevi correttamente i numeri In Posizione voluta In Base alle tre estrazioni consecutive
      End If
      If Not IsNumeric(vettoreterzina(0)) Or Not IsNumeric(vettoreterzina(1)) Or Not IsNumeric(vettoreterzina(2)) Then
         ' Non è possibile convertire uno o più elementi in numeri interi
         ' Ignora questa iterazione
         Exit For
      End If
      Call BubbleSort(vettoreterzina)
      If vettoreterzina(0) + 1 = vettoreterzina(1) And _
         vettoreterzina(1) + 1 = vettoreterzina(2) Then
         ' Analizza qui la terzina consecutiva
         ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
         variabiledicontrollo = "1"
         terzinedoctrovate = terzinedoctrovate + 1
      End If
      '
      If variabiledicontrollo = "1" Then
         Scrivi "<b>Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
         Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(ruota)
     
         Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
   
         Scrivi "p : " & StringaNumeri(aposizione)  & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
   
         Differenzaposizionale = ritmaxp-ritp
'   
         Scrivi "differenza posizionale relativa " & Differenzaposizionale
'   
         If Differenzaposizionale < Differenzaposizionaleminima Then
     
         Differenzaposizionaleminima = Differenzaposizionale
         ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
         Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
         Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
     
         End If
     
         variabiledicontrollo = "0"
      Else
         variabiledicontrollo = "0"
      End If
  
      Messaggio "n. terzine doc trovate... " & terzinedoctrovate  & " r " & NomeRuota(aruota(1)) & " p " & aposizione(1) & " diffpm " & Differenzaposizionaleminima
  
            If ScriptInterrotto Then Exit For
   Next ' x posizionevoluta
 
               If ScriptInterrotto Then Exit For
   Next ' x ruota
  
      Call AvanzamentoElab(1,fine - 2,es)
      If ScriptInterrotto Then Exit For
   Next ' x es
   Scrivi
   Scrivi "Totale terzine consecutive trovate: " & terzinedoctrovate
   Scrivi
   Scrivi "Differenza posizionale minima " & Differenzaposizionaleminima
   Scrivi "Ruota con differenza posizionale minima " &  ruotacondifferenzaposizionaleminima
   Scrivi "Posizione con differenza posizionale minima " &  Posizionecondifferenzaposizionaleminima
   Scrivi "Formazione con differenza posizionale minima " & Formazionecondifferenzaposizionaleminima

   Scrivi
   Scrivi "Tempo trascorso " & TempoTrascorso
End Sub
Function CleanAndConvertToInt(Str)
   ' Rimuovi eventuali spazi o caratteri non numerici dalla stringa
   Dim cleanedStr
   cleanedStr = Replace(Str," ","")
   cleanedStr = Replace(cleanedStr,".","")
   ' Converte la stringa in intero se possibile
   If IsNumeric(cleanedStr) Then
      CleanAndConvertToInt = CInt(cleanedStr)
   Else
      CleanAndConvertToInt = Str ' Restituisci la stringa originale se non è un numero
   End If
End Function
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub


Es. di output (forse molto interessante dal punto di vista "micro_") partorito dalla v.10 soprastante impostando come range temporale le ultime 1800 es



Elaborazione con archivio aggiornato al [10280] [100] 10.08.2023
Periodo analizzato [08480] [ 4 ] 10.01.2012 - [10280] [100] 10.08.2023
Numero ultime estrazioni analizzate 1800
Ruota analizzata
Posizione esaminata
Sorte posizionale di studio 1
Tipo di formazioni isocrone continue rilevate e analizzate: terzine consecutive
Modalità di visualizzazione output : solo terzine doc (f) o tutte le estrazioni del range temporale voluto (v) : f

vi posto solo la sezione output del rilevamento teoricamente ottimale e il report riassuntivo finale...

...

Terzina consecutiva trovata! Elementi: 10, 11, 12
parametri statistici relativi alla posizione... 2 e alla ruota Milano
p : 2 ritp 173 ritmaxp 174 incmaxp 0 freqp 49
differenza posizionale relativa 1


...

Totale terzine consecutive trovate: 69

Differenza posizionale minima 1
Ruota con differenza posizionale minima Milano
Posizione con differenza posizionale minima 2
Formazione con differenza posizionale minima 10.11.12

Tempo trascorso 00:01:26

:unsure:

Nessuna Certezza Solo Poca Probabilità
 
Ultima modifica:
Ciao Tom, grazie prima di tutto, io comunque non riesco a capire bene questo output.

In quale concorso trovo la terzina che mi interessa? Questo perchè vorrei vederla anche in archivio...o sono io che non leggo bene l'output?

Un'altra cosa, come faccio a cambiare il tipo di terzina? vedo le consecutive ma se voglio vederne altre come faccio? se ad esempio voglio vedere le 1.4.7//2.5.8//3.6.9//11,14.17//etc...oppure le 1.2.90//2.4.89 che devo fare? negli altri script cambio i numeri ma qui dove li cambio?

saluti,
micro
 
Ciao Tom, grazie prima di tutto, io comunque non riesco a capire bene questo output.

In quale concorso trovo la terzina che mi interessa? Questo perchè vorrei vederla anche in archivio...o sono io che non leggo bene l'output?

Un'altra cosa, come faccio a cambiare il tipo di terzina? vedo le consecutive ma se voglio vederne altre come faccio? se ad esempio voglio vedere le 1.4.7//2.5.8//3.6.9//11,14.17//etc...oppure le 1.2.90//2.4.89 che devo fare? negli altri script cambio i numeri ma qui dove li cambio?

saluti,
micro

Ciao micro_ ogni script ha caratteristiche proprie :)
Questo mio ad esempio è predisposto solo per rilevare il tipo di terzina consecutiva. Se vuoi cambiare il tipo di filtro devi modificare il codice sottostante... quindi almeno per adesso è di tipo "filtro fisso implementato nel codice".

Codice:
      If vettoreterzina(0) + 1 = vettoreterzina(1) And _
         vettoreterzina(1) + 1 = vettoreterzina(2) Then
         ' Analizza qui la terzina consecutiva
         ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
         variabiledicontrollo = "1"
         terzinedoctrovate = terzinedoctrovate + 1
      End If

Per quanto riguarda il verificare le estrazioni di rilevamento rispettive della terzina isocrona determinata continua trovata basta che digiti "v" alla domanda iniziale "vuoi visualizzare tutte le estrazioni?" e poi ti cerchi tra quelle trovate con un semplice trova quella che ti interessa...
 
Micro_ in questa versione 11 ho provato ad implementarti anche la ricerca di terzine isocrone determinate continue "custom" ovvero puoi scegliere quale terzina fissa cercare ("es. 1,2,3 oppure 2,1,3 oppure 3,2,1 oppure 1,3,2 ovvero anche se cambi l'ordine degli elementi che possono essere qualunque numero tu voglia dovrebbe poterla rilevare analizzare). Per quanto riguarda il cercare terzine omogenee dinamicamente rilevabili per l'intero loro gruppo come ad esempio le terzina simmetriche credo che basti una nuova prossima implementazione che ti farò fra poco riguardante la scelta di distanza minima che vuoi ottenere tra i tre elementi. Nell'esempio delle terzine simmetriche ti basterà ovviamente rispondere 30 :)


Ovviamente anche questa v.11 è da controllare e testare il + possibile per probabilissimi errori logici e/o strutturali che vi potrebbero essere...

Codice:
Option Explicit
Sub Main
   ' rilevamento terzine consecutive isocrone continue e loro statistica posizionale relativa per estratto x ricerca di micro_ ;  listato by tom  script versione 11
   ' questa versione 11 permette di analizzare tutte le ruote e tutte le posizioni rilevando anche il valore minore di differenza posizionale isocrona continua per terzine consecutive... ; in questa nuova versione è possibile scegliere anche di rilevare per ogni singola eleaborazione un tipo di terzina fissa "custom" a proprio piacere... formata da qualsiasi numero e in qualsiasi ordinamento di immissione...

   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   Dim contaes
   Dim terzinedoctrovate
   numeroestrazioni = CInt(InputBox("Quante ultime estrazioni esaminare?",,369))
   Dim Posizionevoluta
   Dim variabiledicontrollo
   Dim aruota(1)
   Dim aposizione(1)
   variabiledicontrollo = "0"
   Dim Differenzaposizionale
   Dim Differenzaposizionaleminima
   Dim ruotacondifferenzaposizionaleminima
   Dim Posizionecondifferenzaposizionaleminima
   Dim Formazionecondifferenzaposizionaleminima
   Differenzaposizionaleminima = EstrazioneFin
   'Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   Dim vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   vuoivederetutteleestrazioniosololeterzinedocxilfiltro = InputBox("Vuoi vedere tutte le estrazioni per eventuale verifica di ricerca (v) o solo le terzine doc x il filtro (f) ?",,"v")
   Dim vuoirilevareterzineconsecutiveocustom
   vuoirilevareterzineconsecutiveocustom = InputBox("Vuoi rilevare terzine consecutive (c) o  terzine personalizzate  (p) ?",,"c")
   If vuoirilevareterzineconsecutiveocustom = "p" Then
      Dim Valore1terzina
      Dim Valore2terzina
      Dim Valore3terzina
      Valore1terzina = CInt(InputBox("primo valore della terzina ",,1))
      Valore2terzina = CInt(InputBox("secondo valore della terzina ",,2))
      Valore3terzina = CInt(InputBox("terzo valore della terzina ",,3))
   End If
   'ruota = ScegliRuota
   aruota(1) = ruota
   aposizione(1) = Posizionevoluta
   Dim ritp,ritmaxp,Incmaxp,freqp
   Dim sortediricercaposizionale
   sortediricercaposizionale = 1
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   contaes = 0
   terzinedoctrovate = 0 ' Inizializza il conteggio delle terzine trovate
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & numeroestrazioni
   Scrivi "Ruota analizzata " & NomeRuota(ruota)
   Scrivi "Posizione esaminata " & Posizionevoluta
   Scrivi "Sorte posizionale di studio " & sortediricercaposizionale
   Scrivi "Tipo di formazioni isocrone continue rilevate e analizzate: <b>terzine consecutive</b> "
   Scrivi "Modalità di visualizzazione output : solo terzine doc (f) o tutte le estrazioni del range temporale voluto (v) : " & vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   Scrivi
   For es = Inizio To fine - 2
      contaes = contaes + 1
      ReDim vettoreterzina(2)
      For ruota = 1 To 12
         If ruota = 11 Then ruota = 12
         aruota(1) = ruota
         For Posizionevoluta = 1 To 5
            aposizione(1) = Posizionevoluta
            vettoreterzina(0) = CleanAndConvertToInt(Estratto(es,ruota,Posizionevoluta))
            vettoreterzina(1) = CleanAndConvertToInt(Estratto(es + 1,ruota,Posizionevoluta))
            vettoreterzina(2) = CleanAndConvertToInt(Estratto(es + 2,ruota,Posizionevoluta))
            If vuoivederetutteleestrazioniosololeterzinedocxilfiltro = "v" Then
               Scrivi "n.es " & GetInfoEstrazione(es) & " x posizione " & Posizionevoluta & " estratti " & StringaEstratti(es,ruota,".") ' <  decommentare questa riga se si vuole verificare che lo script rilevi correttamente i numeri In Posizione voluta In Base alle tre estrazioni consecutive
            End If
            If Not IsNumeric(vettoreterzina(0)) Or Not IsNumeric(vettoreterzina(1)) Or Not IsNumeric(vettoreterzina(2)) Then
               ' Non è possibile convertire uno o più elementi in numeri interi
               ' Ignora questa iterazione
               Exit For
            End If
            Call BubbleSort(vettoreterzina)
            If vuoirilevareterzineconsecutiveocustom = "c" Then
               If vettoreterzina(0) + 1 = vettoreterzina(1) And _
                  vettoreterzina(1) + 1 = vettoreterzina(2) Then
                  ' Analizza qui la terzina consecutiva
                  ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
                  variabiledicontrollo = "1"
                  terzinedoctrovate = terzinedoctrovate + 1
               End If
               '
               If variabiledicontrollo = "1" Then
                  Scrivi "<b>Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
                  Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(ruota)
                  Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
                  Scrivi "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
                  Differenzaposizionale = ritmaxp - ritp
                  '
                  Scrivi "differenza posizionale relativa " & Differenzaposizionale
                  '
                  If Differenzaposizionale < Differenzaposizionaleminima Then
                     Differenzaposizionaleminima = Differenzaposizionale
                     ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
                     Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
                     Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
                  End If
                  variabiledicontrollo = "0"
               Else
                  variabiledicontrollo = "0"
               End If
            Else
               'rilevamento terzine di tipo "custom"
               Scrivi "hai scelto di rilevare e analizzare terzine di tipo custom ",,,,vbRed
               Scrivi "primo valore terzina da ricercare " & Valore1terzina,,,,vbBlue
               Scrivi "secondo valore terzina da ricercare " & Valore2terzina,,,,vbBlue
               Scrivi "terzo valore terzina da ricercare " & Valore3terzina,,,,vbBlue
               If vettoreterzina(0) = Valore1terzina And _
                  vettoreterzina(1) = Valore2terzina And _
                  vettoreterzina(2) = Valore3terzina Or _
                  vettoreterzina(1) = Valore1terzina And _
                  vettoreterzina(2) = Valore2terzina And _
                  vettoreterzina(0) = Valore3terzina Or _
                  vettoreterzina(2) = Valore1terzina And _
                  vettoreterzina(1) = Valore3terzina And _
                  vettoreterzina(0) = Valore2terzina Then
                  ' Analizza qui la terzina consecutiva
                  ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
                  variabiledicontrollo = "1"
                  terzinedoctrovate = terzinedoctrovate + 1
               End If
               '
               If variabiledicontrollo = "1" Then
                  Scrivi "<b>Terzina  CUSTOM  trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
                  Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(ruota)
                  Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
                  Scrivi "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
                  Differenzaposizionale = ritmaxp - ritp
                  '
                  Scrivi "differenza posizionale relativa " & Differenzaposizionale
                  '
                  If Differenzaposizionale < Differenzaposizionaleminima Then
                     Differenzaposizionaleminima = Differenzaposizionale
                     ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
                     Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
                     Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
                  End If
                  variabiledicontrollo = "0"
               Else
                  variabiledicontrollo = "0"
               End If
            End If
            Messaggio "n. terzine doc trovate... " & terzinedoctrovate & " r " & NomeRuota(aruota(1)) & " p " & aposizione(1) & " diffpm " & Differenzaposizionaleminima
            If ScriptInterrotto Then Exit For
         Next ' x posizionevoluta
         If ScriptInterrotto Then Exit For
      Next ' x ruota
      Call AvanzamentoElab(1,fine - 2,es)
      If ScriptInterrotto Then Exit For
   Next ' x es
   Scrivi
   Scrivi "Totale terzine consecutive trovate: " & terzinedoctrovate
   Scrivi
   Scrivi "Differenza posizionale minima " & Differenzaposizionaleminima
   Scrivi "Ruota con differenza posizionale minima " & ruotacondifferenzaposizionaleminima
   Scrivi "Posizione con differenza posizionale minima " & Posizionecondifferenzaposizionaleminima
   Scrivi "Formazione con differenza posizionale minima " & Formazionecondifferenzaposizionaleminima
   Scrivi
   Scrivi "Tempo trascorso " & TempoTrascorso
End Sub
Function CleanAndConvertToInt(Str)
   ' Rimuovi eventuali spazi o caratteri non numerici dalla stringa
   Dim cleanedStr
   cleanedStr = Replace(Str," ","")
   cleanedStr = Replace(cleanedStr,".","")
   ' Converte la stringa in intero se possibile
   If IsNumeric(cleanedStr) Then
      CleanAndConvertToInt = CInt(cleanedStr)
   Else
      CleanAndConvertToInt = Str ' Restituisci la stringa originale se non è un numero
   End If
End Function
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub
 
Ultima modifica:
Ecco la versione 12 sopra anticipatati :) che spero assolva a tutte le richieste che avevi in mente..
Questa di nuovo rispetto alla 11 consente appunto anche il rilevamento di altro tipo di terzine "omogenee" tipo terzine simmetriche (distanza 30), terzine a distanza 10 ecc... oltre che ovviamente le iniziali consecutive (distanza 1) perchè appunto consente semplicemente... di cambiare il valore di distanza tra gli elementi cercati per l'analisi.

Testare e ritestare ad libitum 🙃

Codice:
Option Explicit
Sub Main
   ' rilevamento terzine consecutive isocrone continue e loro statistica posizionale relativa per estratto x ricerca di micro_ ;  listato by tom  script versione 12
   ' questa versione 10 permette di analizzare tutte le ruote e tutte le posizioni rilevando anche il valore minore di differenza posizionale isocrona continua per terzine consecutive... ; in questa nuova versione è possibile scegliere anche di rilevare per ogni singola elaborazione un tipo di terzina fissa "custom" a proprio piacere... formata da qualsiasi numero e in qualsiasi ordinamento di immissione... ; Oltre al tipo di terzina fissa in questa versione 12 è possibile cambiare la distanza degli elementi cercati e quindi trovare anche altri tipi di terzine omogenee tipo simmetriche (distanza 30) , a distanza 10 ecc...
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   Dim contaes
   Dim terzinedoctrovate
   numeroestrazioni = CInt(InputBox("Quante ultime estrazioni esaminare?",,369))
   Dim Posizionevoluta
   Dim variabiledicontrollo
   Dim aruota(1)
   Dim aposizione(1)
   variabiledicontrollo = "0"
   Dim Differenzaposizionale
   Dim Differenzaposizionaleminima
   Dim ruotacondifferenzaposizionaleminima
   Dim Posizionecondifferenzaposizionaleminima
   Dim Formazionecondifferenzaposizionaleminima
   Differenzaposizionaleminima = EstrazioneFin
   'Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   Dim vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   vuoivederetutteleestrazioniosololeterzinedocxilfiltro = InputBox("Vuoi vedere tutte le estrazioni per eventuale verifica di ricerca (v) o solo le terzine doc x il filtro (f) ?",,"v")
   Dim vuoirilevareterzineconsecutiveocustom
   vuoirilevareterzineconsecutiveocustom = InputBox("Vuoi rilevare terzine a distanza fissa (f) o  terzine personalizzate  (p) ?",,"f")
   If vuoirilevareterzineconsecutiveocustom = "p" Then
      Dim Valore1terzina
      Dim Valore2terzina
      Dim Valore3terzina
      Valore1terzina = CInt(InputBox("primo valore della terzina ",,1))
      Valore2terzina = CInt(InputBox("secondo valore della terzina ",,2))
      Valore3terzina = CInt(InputBox("terzo valore della terzina ",,3))
   Else
      Dim qualedistanzatraglielementi
      qualedistanzatraglielementi = CInt(InputBox("Quale distanza tra gli elementi delle terzine? Es. 30 x terzine simmetriche, 1 x quelle consecutive ecc...",,1))
   End If
   'ruota = ScegliRuota
   aruota(1) = ruota
   aposizione(1) = Posizionevoluta
   Dim ritp,ritmaxp,Incmaxp,freqp
   Dim sortediricercaposizionale
   sortediricercaposizionale = 1
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   contaes = 0
   terzinedoctrovate = 0 ' Inizializza il conteggio delle terzine trovate
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & numeroestrazioni
   Scrivi "Ruota analizzata " & NomeRuota(ruota)
   Scrivi "Posizione esaminata " & Posizionevoluta
   Scrivi "Sorte posizionale di studio " & sortediricercaposizionale
   Scrivi "Tipo di formazioni isocrone continue rilevate e analizzate: <b>terzine di tipo omogenee (es. simmetriche, consecutive) o custom (numeri personalizzati x una sola terzina)</b> "
   Scrivi "Modalità di visualizzazione output : solo terzine doc (f) o tutte le estrazioni del range temporale voluto (v) : " & vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   Scrivi
   For es = Inizio To fine - 2
      contaes = contaes + 1
      ReDim vettoreterzina(2)
      For ruota = 1 To 12
         If ruota = 11 Then ruota = 12
         aruota(1) = ruota
         For Posizionevoluta = 1 To 5
            aposizione(1) = Posizionevoluta
            vettoreterzina(0) = CleanAndConvertToInt(Estratto(es,ruota,Posizionevoluta))
            vettoreterzina(1) = CleanAndConvertToInt(Estratto(es + 1,ruota,Posizionevoluta))
            vettoreterzina(2) = CleanAndConvertToInt(Estratto(es + 2,ruota,Posizionevoluta))
            If vuoivederetutteleestrazioniosololeterzinedocxilfiltro = "v" Then
               Scrivi "n.es " & GetInfoEstrazione(es) & " x posizione " & Posizionevoluta & " estratti " & StringaEstratti(es,ruota,".") ' <  decommentare questa riga se si vuole verificare che lo script rilevi correttamente i numeri In Posizione voluta In Base alle tre estrazioni consecutive
            End If
            If Not IsNumeric(vettoreterzina(0)) Or Not IsNumeric(vettoreterzina(1)) Or Not IsNumeric(vettoreterzina(2)) Then
               ' Non è possibile convertire uno o più elementi in numeri interi
               ' Ignora questa iterazione
               Exit For
            End If
            Call BubbleSort(vettoreterzina)
            If vuoirilevareterzineconsecutiveocustom = "f" Then
               If vettoreterzina(0) + qualedistanzatraglielementi = vettoreterzina(1) And _
                  vettoreterzina(1) + qualedistanzatraglielementi = vettoreterzina(2) Then
                  ' Analizza qui la terzina consecutiva
                  ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
                  variabiledicontrollo = "1"
                  terzinedoctrovate = terzinedoctrovate + 1
               End If
               '
               If variabiledicontrollo = "1" Then
                  Scrivi "<b>Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
                  Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(ruota)
                  Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
                  Scrivi "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
                  Differenzaposizionale = ritmaxp - ritp
                  '
                  Scrivi "differenza posizionale relativa " & Differenzaposizionale
                  '
                  If Differenzaposizionale < Differenzaposizionaleminima Then
                     Differenzaposizionaleminima = Differenzaposizionale
                     ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
                     Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
                     Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
                  End If
                  variabiledicontrollo = "0"
               Else
                  variabiledicontrollo = "0"
               End If
            Else
               'rilevamento terzine di tipo "custom"
               Scrivi "hai scelto di rilevare e analizzare terzine di tipo custom ",,,,vbRed
               Scrivi "primo valore terzina da ricercare " & Valore1terzina,,,,vbBlue
               Scrivi "secondo valore terzina da ricercare " & Valore2terzina,,,,vbBlue
               Scrivi "terzo valore terzina da ricercare " & Valore3terzina,,,,vbBlue
               If vettoreterzina(0) = Valore1terzina And _
                  vettoreterzina(1) = Valore2terzina And _
                  vettoreterzina(2) = Valore3terzina Or _
                  vettoreterzina(1) = Valore1terzina And _
                  vettoreterzina(2) = Valore2terzina And _
                  vettoreterzina(0) = Valore3terzina Or _
                  vettoreterzina(2) = Valore1terzina And _
                  vettoreterzina(1) = Valore3terzina And _
                  vettoreterzina(0) = Valore2terzina Then
                  ' Analizza qui la terzina consecutiva
                  ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
                  variabiledicontrollo = "1"
                  terzinedoctrovate = terzinedoctrovate + 1
               End If
               '
               If variabiledicontrollo = "1" Then
                  Scrivi "<b>Terzina  CUSTOM  trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
                  Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(ruota)
                  Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
                  Scrivi "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
                  Differenzaposizionale = ritmaxp - ritp
                  '
                  Scrivi "differenza posizionale relativa " & Differenzaposizionale
                  '
                  If Differenzaposizionale < Differenzaposizionaleminima Then
                     Differenzaposizionaleminima = Differenzaposizionale
                     ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
                     Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
                     Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
                  End If
                  variabiledicontrollo = "0"
               Else
                  variabiledicontrollo = "0"
               End If
            End If
            Messaggio "n. terzine doc trovate... " & terzinedoctrovate & " r " & NomeRuota(aruota(1)) & " p " & aposizione(1) & " diffpm " & Differenzaposizionaleminima
            If ScriptInterrotto Then Exit For
         Next ' x posizionevoluta
         If ScriptInterrotto Then Exit For
      Next ' x ruota
      Call AvanzamentoElab(1,fine - 2,es)
      If ScriptInterrotto Then Exit For
   Next ' x es
   Scrivi
   Scrivi "Totale terzine isocrone determinate continue rispettanti il filtro voluto trovate: " & terzinedoctrovate
   Scrivi
   Scrivi "Differenza posizionale minima " & Differenzaposizionaleminima
   Scrivi "Ruota con differenza posizionale minima " & ruotacondifferenzaposizionaleminima
   Scrivi "Posizione con differenza posizionale minima " & Posizionecondifferenzaposizionaleminima
   Scrivi "Formazione con differenza posizionale minima " & Formazionecondifferenzaposizionaleminima
   Scrivi
   Scrivi "Tempo trascorso " & TempoTrascorso
End Sub
Function CleanAndConvertToInt(Str)
   ' Rimuovi eventuali spazi o caratteri non numerici dalla stringa
   Dim cleanedStr
   cleanedStr = Replace(Str," ","")
   cleanedStr = Replace(cleanedStr,".","")
   ' Converte la stringa in intero se possibile
   If IsNumeric(cleanedStr) Then
      CleanAndConvertToInt = CInt(cleanedStr)
   Else
      CleanAndConvertToInt = Str ' Restituisci la stringa originale se non è un numero
   End If
End Function
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub

Es. di output (solo la parte del report finale) di questa v.12 scegliendo distanza 30 👇


Totale terzine isocrone determinate continue rispettanti il filtro voluto trovate: 1

Differenza posizionale minima 49
Ruota con differenza posizionale minima Palermo
Posizione con differenza posizionale minima 3
Formazione con differenza posizionale minima 10.40.70

Tempo trascorso 00:00:28
 
Ultima modifica:
Tom perché cercare le estrazioni 3 a tre?
Se tu sai cosa cercare perché non utilizzare la funzione elenca ritardi.
In meno di un secondo hai falcidiato tre quarti delle estrazioni.
Poi fai il ciclo
filtri per posizioni, perché elenco ritardo mi sembra non lo faccia
E raccogli.
Poi cicli la raccolta e verifichi
For x= 1 to ubound ( aIdestr)-3

If aidestr(x)= aidestr(×+1)-1 then
If aidestr(x+1)= aidestr(x+2)-1 then
Raccogli i dati e poi cerchi quando è caduto in posizione uno dei tre.
Poi leggi i dati .

mi sembrava di aver spiegato una soluzione possibile.
Ma senza PC non riesco.
Sicuramente joe ha trovato una soluzione, elegante e veloce come fa sempre 👍
 
Ultima modifica:
Tom scusa , non so perché ma avevo letto solo il primo script, gli altri mi sono venuti fuori dopo aver postato.
Non vedevo neanche quelli di micro e joe .
P.s
Tom hai utilizzato il bubblesort.
Ordinamatriceturbo è molto molto più veloce.
Credo che luigi abbia utilizzato il quick sort, o quello della libreria di vb6 ,o almeno so che c'è in vb.net
 
Secondo me è meglio avere un file txt.
Così ogni volta bisogna calcolare le terzine a distanza 30
Con un ciclo le leggi e poi le cerchi.
Il vantaggio sta nel non leggere tutto l archivio.
Almeno credo, perché non posso fare prove, magari sbaglio .
 
Buongiorno a tutti, ho provato gli script di Tom, aumentando il numero delle estrazioni, anche 10000, ma ci è voluto molto tempo...
 
Buongiorno a tutti, ho provato gli script di Tom, aumentando il numero delle estrazioni, anche 10000, ma ci è voluto molto tempo...

Ciao incuriosito dal tuo feedback ho fatto un piccolo benchmark test su tutte le ruote e tutte le posizioni per le ultime 10mila estrazioni e ci ha messo 9 min ca. Non so a che tempi eri abituato per le tue precedenti elaborazioni di questo tipo ma non mi sembra un tempo inaccettabile... :)

Ad ogni modo stimolato da questo tuo appunto ho provato ad ottimizzarlo ulteriormente...
E questa versione 13 consente anche di scegliere le ruote e se si vuole analizzare una sola posizione o tutte e 5. Anche questo dovrebbe aiutare molto a diminuire i tempi di elaborazione. Inoltre ti ho aggiunto i parametri della soluzione teoricamente ottimale per la differenza posizionale minima riscontrata e anche la verifica su eventuali casi multipli aventi pari diffp e quindi pari "forza" di teorica uscita entro i colpi relativi. Sicuramente ilegend o joe potranno fare molto meglio ma questo per adesso passa il mio convento... Prendere o lasciare :)

Codice:
Option Explicit
Sub Main

   ' rilevamento terzine consecutive isocrone continue e loro statistica posizionale relativa per estratto x ricerca di micro_ ;  listato by tom  script versione 13
   ' questa versione 13 permette di analizzare tutte le ruote e tutte le posizioni rilevando anche il valore minore di differenza posizionale isocrona continua per terzine consecutive...
   ' in questa nuova versione è possibile scegliere anche di rilevare per ogni singola elaborazione un tipo di terzina fissa "custom" a proprio piacere...
   ' formata da qualsiasi numero e in qualsiasi ordinamento di immissione... ; Oltre al tipo di terzina fissa in questa versione 13 è possibile cambiare la distanza degli elementi cercati e quindi trovare anche altri tipi di terzine omogenee tipo simmetriche (distanza 30) , a distanza 10 ecc...
   ' come ulteriori upgrades sono state implementate le possibilità di sceglere le ruote volute e l'opzione x poter analizzare una sola posizione o tutte e 5. E' stata altresì aggiunta
   ' l verifica della presenza di casi multipli o meno con gli stessi valori di differenza posizionale minima. Infine nel riassuntino finale della soluzione teoricamente ottimale
   ' per differenza minima posizionale riscontrata adesso si possono vedere anche i relativi parametri di analisi.
   ' per quanto riguarda i tempi di elaborazione per un benchmark test di 5 posizioni con visualizzazione totale di tutte le estrazioni e su tutte le ruote x le ultime 10mila estrazioni impiega ca 9 min.
 
   Dim es
   Dim Inizio
   Dim fine
   Dim ruota
   Dim numeroestrazioni
   Dim contaes
   Dim terzinedoctrovate
   numeroestrazioni = CInt(InputBox("Quante ultime estrazioni esaminare?",,369))
   Dim Posizionevoluta
   Dim variabiledicontrollo
   Dim aruota(1)
   Dim aposizione(1)
   variabiledicontrollo = "0"
   Dim Differenzaposizionale
   Dim Differenzaposizionaleminima
   Dim ruotacondifferenzaposizionaleminima
   Dim Posizionecondifferenzaposizionaleminima
   Dim Formazionecondifferenzaposizionaleminima
   Dim parametridellaformazionecondifferenzaposizionaleminima
   Dim verificapresenzacasivaloriminimiugualimultipli
   Differenzaposizionaleminima = EstrazioneFin
   'Posizionevoluta = CInt(InputBox("Posizione da esaminare?",,1))
   Dim vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   vuoivederetutteleestrazioniosololeterzinedocxilfiltro = InputBox("Vuoi vedere tutte le estrazioni per eventuale verifica di ricerca (v) o solo le terzine doc x il filtro (f) ?",,"v")
   Dim vuoirilevareterzineconsecutiveocustom
   vuoirilevareterzineconsecutiveocustom = InputBox("Vuoi rilevare terzine a distanza fissa (f) o  terzine personalizzate  (p) ?",,"f")
   If vuoirilevareterzineconsecutiveocustom = "p" Then
      Dim Valore1terzina
      Dim Valore2terzina
      Dim Valore3terzina
      Valore1terzina = CInt(InputBox("primo valore della terzina ",,1))
      Valore2terzina = CInt(InputBox("secondo valore della terzina ",,2))
      Valore3terzina = CInt(InputBox("terzo valore della terzina ",,3))
   Else
      Dim qualedistanzatraglielementi
      qualedistanzatraglielementi = CInt(InputBox("Quale distanza tra gli elementi delle terzine? Es. 30 x terzine simmetriche, 1 x quelle consecutive ecc...",,1))
   End If
   'ruota = ScegliRuota
   'aruota(1) = ruota
   ReDim aruoteselezionate(0)
   ScegliRuote(aruoteselezionate)
   Dim Posizionesingolaotutteleposizioni
   Dim daPosizione1
   Dim finoaPosizione5
   Posizionesingolaotutteleposizioni = InputBox("Vuoi analizzare soltanto una posizione (u) o tutte e cinque (t) ?",,"t")
   If Posizionesingolaotutteleposizioni = "u" Then
      Posizionevoluta = CInt(InputBox("Quale posizione analizzare?",,3))
      aposizione(1) = Posizionevoluta
      daPosizione1 = Posizionevoluta
      finoaPosizione5 = Posizionevoluta
   Else
      daPosizione1 = 1
      finoaPosizione5 = 5
   End If
   Dim ritp,ritmaxp,Incmaxp,freqp
   Dim sortediricercaposizionale
   sortediricercaposizionale = 1
   fine = EstrazioneFin
   Inizio = EstrazioneFin - numeroestrazioni
   contaes = 0
   terzinedoctrovate = 0 ' Inizializza il conteggio delle terzine trovate
   Scrivi "Elaborazione con archivio aggiornato al " & GetInfoEstrazione(EstrazioneFin)
   Scrivi "Periodo analizzato " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(fine)
   Scrivi "Numero ultime estrazioni analizzate " & numeroestrazioni
   Scrivi "Ruota analizzata " & StringaRuote(aruoteselezionate)
   If Posizionesingolaotutteleposizioni = "u" Then
      Scrivi "Posizione esaminata " & StringaNumeri(Posizionevoluta)
   Else
      Scrivi "Posizioni esaminate da 1 a 5  "
   End If
   Scrivi "Sorte posizionale di studio " & sortediricercaposizionale
   Scrivi "Tipo di formazioni isocrone continue rilevate e analizzate: <b>terzine di tipo omogenee (es. simmetriche, consecutive) o custom (numeri personalizzati x una sola terzina)</b> "
   Scrivi "Modalità di visualizzazione output : solo terzine doc (f) o tutte le estrazioni del range temporale voluto (v) : " & vuoivederetutteleestrazioniosololeterzinedocxilfiltro
   Scrivi
   For es = Inizio To fine - 2
      contaes = contaes + 1
      ReDim vettoreterzina(2)
      For ruota = 1 To UBound(aruoteselezionate)
         If ruota = 11 Then
            ruota = 12
            'aruota(1) = 12
            aruota(1) = aruoteselezionate(ruota)
         End If
         aruota(1) = aruoteselezionate(ruota)
         For Posizionevoluta = daPosizione1 To finoaPosizione5
            aposizione(1) = Posizionevoluta
            vettoreterzina(0) = CleanAndConvertToInt(Estratto(es,ruota,Posizionevoluta))
            vettoreterzina(1) = CleanAndConvertToInt(Estratto(es + 1,ruota,Posizionevoluta))
            vettoreterzina(2) = CleanAndConvertToInt(Estratto(es + 2,ruota,Posizionevoluta))
            If vuoivederetutteleestrazioniosololeterzinedocxilfiltro = "v" Then
               Scrivi "n.es " & GetInfoEstrazione(es) & " x posizione " & Posizionevoluta & " estratti " & StringaEstratti(es,ruota,".") ' <  decommentare questa riga se si vuole verificare che lo script rilevi correttamente i numeri In Posizione voluta In Base alle tre estrazioni consecutive
            End If
            If Not IsNumeric(vettoreterzina(0)) Or Not IsNumeric(vettoreterzina(1)) Or Not IsNumeric(vettoreterzina(2)) Then
               ' Non è possibile convertire uno o più elementi in numeri interi
               ' Ignora questa iterazione
               Exit For
            End If
            Call BubbleSort(vettoreterzina)
            If vuoirilevareterzineconsecutiveocustom = "f" Then
               If vettoreterzina(0) + qualedistanzatraglielementi = vettoreterzina(1) And _
                  vettoreterzina(1) + qualedistanzatraglielementi = vettoreterzina(2) Then
                  ' Analizza qui la terzina consecutiva
                  ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
                  variabiledicontrollo = "1"
                  terzinedoctrovate = terzinedoctrovate + 1
               End If
               '
               If variabiledicontrollo = "1" Then
                  Scrivi "<b>Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
                  Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(aruota(1))
                  Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
                  Scrivi "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
                  Differenzaposizionale = ritmaxp - ritp
                  '
                  Scrivi "differenza posizionale relativa " & Differenzaposizionale
                  '
                  If Differenzaposizionale < Differenzaposizionaleminima Then
                     Differenzaposizionaleminima = Differenzaposizionale
                     ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
                     Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
                     Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
                     parametridellaformazionecondifferenzaposizionaleminima = "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp
                     verificapresenzacasivaloriminimiugualimultipli = 0
                  End If
                  If Differenzaposizionale = Differenzaposizionaleminima Then
                     verificapresenzacasivaloriminimiugualimultipli = verificapresenzacasivaloriminimiugualimultipli + 1
                  End If
                  variabiledicontrollo = "0"
               Else
                  variabiledicontrollo = "0"
               End If
            Else
               'rilevamento terzine di tipo "custom"
               Scrivi "hai scelto di rilevare e analizzare terzine di tipo custom ",,,,vbRed
               Scrivi "primo valore terzina da ricercare " & Valore1terzina,,,,vbBlue
               Scrivi "secondo valore terzina da ricercare " & Valore2terzina,,,,vbBlue
               Scrivi "terzo valore terzina da ricercare " & Valore3terzina,,,,vbBlue
               If vettoreterzina(0) = Valore1terzina And _
                  vettoreterzina(1) = Valore2terzina And _
                  vettoreterzina(2) = Valore3terzina Or _
                  vettoreterzina(1) = Valore1terzina And _
                  vettoreterzina(2) = Valore2terzina And _
                  vettoreterzina(0) = Valore3terzina Or _
                  vettoreterzina(2) = Valore1terzina And _
                  vettoreterzina(1) = Valore3terzina And _
                  vettoreterzina(0) = Valore2terzina Then
                  ' Analizza qui la terzina consecutiva
                  ' Scrivi "Terzina consecutiva trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2)
                  variabiledicontrollo = "1"
                  terzinedoctrovate = terzinedoctrovate + 1
               End If
               '
               If variabiledicontrollo = "1" Then
                  Scrivi "<b>Terzina  CUSTOM  trovata! Elementi: " & vettoreterzina(0) & ", " & vettoreterzina(1) & ", " & vettoreterzina(2) & "</b>"
                  Scrivi "parametri statistici relativi alla posizione... " & Posizionevoluta & " e alla ruota " & NomeRuota(aruota(1))
                  Call StatisticaFormazioneTurbo(vettoreterzina,aruota,sortediricercaposizionale,ritp,ritmaxp,Incmaxp,freqp,Inizio,fine,,aposizione)
                  Scrivi "p : " & StringaNumeri(aposizione) & " ritp " & ritp & " ritmaxp " & ritmaxp & " incmaxp " & Incmaxp & " freqp  " & freqp,,,,vbRed
                  Differenzaposizionale = ritmaxp - ritp
                  '
                  Scrivi "differenza posizionale relativa " & Differenzaposizionale
                  '
                  If Differenzaposizionale < Differenzaposizionaleminima Then
                     Differenzaposizionaleminima = Differenzaposizionale
                     ruotacondifferenzaposizionaleminima = NomeRuota(aruota(1))
                     Posizionecondifferenzaposizionaleminima = StringaNumeri(aposizione)
                     Formazionecondifferenzaposizionaleminima = StringaNumeri(vettoreterzina)
                  End If
                  variabiledicontrollo = "0"
               Else
                  variabiledicontrollo = "0"
               End If
            End If
            Messaggio "n. terzine doc trovate... " & terzinedoctrovate & " r " & NomeRuota(aruota(1)) & " p " & aposizione(1) & " diffpm " & Differenzaposizionaleminima
            If ScriptInterrotto Then Exit For
         Next ' x posizionevoluta
         If ScriptInterrotto Then Exit For
      Next ' x ruota
      Call AvanzamentoElab(1,fine - 2,es)
      If ScriptInterrotto Then Exit For
   Next ' x es
   Scrivi
   Scrivi "Totale terzine isocrone determinate continue rispettanti il filtro voluto trovate:  " & terzinedoctrovate
   Scrivi
   Scrivi "Differenza posizionale minima " & Differenzaposizionaleminima
   Scrivi "Ruota con differenza posizionale minima " & ruotacondifferenzaposizionaleminima
   Scrivi "Posizione con differenza posizionale minima " & Posizionecondifferenzaposizionaleminima
   Scrivi "Formazione con differenza posizionale minima " & Formazionecondifferenzaposizionaleminima
   Scrivi "Parametri della formazione con differenza posizionale minima " & parametridellaformazionecondifferenzaposizionaleminima
   Scrivi "Numero di formazioni con gli stessi valori minimi di differenza posizionale " & verificapresenzacasivaloriminimiugualimultipli-1
   Scrivi
   Scrivi "Tempo trascorso " & TempoTrascorso
End Sub
Function CleanAndConvertToInt(Str)
   ' Rimuovi eventuali spazi o caratteri non numerici dalla stringa
   Dim cleanedStr
   cleanedStr = Replace(Str," ","")
   cleanedStr = Replace(cleanedStr,".","")
   ' Converte la stringa in intero se possibile
   If IsNumeric(cleanedStr) Then
      CleanAndConvertToInt = CInt(cleanedStr)
   Else
      CleanAndConvertToInt = Str ' Restituisci la stringa originale se non è un numero
   End If
End Function
Sub BubbleSort(arr)
   Dim n,i,j,temp
   n = UBound(arr)
   For i = 0 To n - 1
      For j = 0 To n - i - 1
         If arr(j) > arr(j + 1) Then
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
         End If
      Next
   Next
End Sub

Per ilegend : ho provato a sostituire blubble sort (consigliato e applicato da cgpt :p) con ordinamatriceturbo ma i tempi sono pressochè identici... e inoltre con questa modifica non so perchè ma non mi considererebbe più tre estrazioni ma solo 2. Per quanto riguarda l'opzione del file txt ci avevo già pensato ma, volendo micro_ poter analizzare tutti i tipi possibili di terzine seppur uno alla volta, il file txt di base dovrebbe comunque contenerle tutte e 117480 e non so se così facendo sia più rapido che generarle dall'unico archivio e confrontarle in run time...

👋🙂
 
Ultima modifica:
Tom Ho letto lo script ed attua un ordinamento su 3 elementi.
Quindi si è veloce .
per vedere la differenza, se c'è davvero , bisognerebbe farla su una lista di molti elementi.
Cmq , se posso dirtelo, sei migliorato moltissimo.
buona giornata a tutti 🙂
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 10 gennaio 2025
    Bari
    40
    61
    11
    86
    37
    Cagliari
    31
    02
    51
    68
    87
    Firenze
    73
    55
    34
    52
    18
    Genova
    11
    40
    27
    82
    20
    Milano
    80
    71
    65
    19
    10
    Napoli
    50
    30
    03
    01
    36
    Palermo
    66
    42
    43
    76
    89
    Roma
    05
    22
    62
    35
    39
    Torino
    17
    58
    62
    86
    69
    Venezia
    43
    89
    14
    04
    40
    Nazionale
    64
    76
    35
    40
    19
    Estrazione Simbolotto
    Bari
    08
    07
    37
    33
    38

Ultimi Messaggi

Indietro
Alto