Novità

Terno Ripetuto

  • Creatore Discussione Creatore Discussione lota
  • Data di inizio Data di inizio
Bene ToM. attendiamo la valutazione di Cinzia, poi se aprirai un nuovo thread io tempo permettendo ci sarò sempre , postando quanto concerne le tue riduzioni a secondo delle mie possibilità & capacità ........

Nikor.
 
Per me va bene. Però per favoreTom non usare abbreviativi che non capisco.


Buona sera e complimenti a tutti gli intervenuti per l'interessante tematica e script! 💪👌. Chiedo alla mitica Cinzia27 se può fare velocemente questa piccola modifica al suo già eccellente code ovvero di mettere la famosa tabella colorata per l'immissione di un gruppo base numerico doc anzichè analizzare tutti i 90 numeri... e permettere eventualmente anche lo sviluppo in classi maggiori di 3 per un eventuale verifica di siffatto tipo. Grazie comunque e se nel caso non fosse possibile... quando avrò tempo e voglia eventualmente mi cimenterò io stesso nel cercare di attuarla. Ciao a tutti! 👋:)

Ciao Cinzia, qui sopra ti ho riportato la mia richiesta che mi pare essere priva di abbreviativi 🙃😉 . Se invece ti riferisci al termine abs del mio post poco soprastante significa absolute ovvero ra=rs=0 per la sorte e ruote di volta in volta analizzate. Ad ogni modo il concetto di abs non fa parte minimamente della richiesta di modifica dello script. Ciao fortissima 💪😎👋🙂
 
Complimenti a tuti per questo lavoro !
questa è soltanto una mia idea, niente di di particolare.
Se invece di analizzare tutti i 90 numeri ci limitiamo ad elaborare i numeri per quindicine !
es. 1....15/ 16...........30 ecc ecc.
 
buongiorno a tutti gli intervenuti , mi inserisco anche io.
Ecco la mia versione per la ricerca delle combinazioni ripetute all'interno del range scelto.


Codice:
Option Explicit
Class clsUscita
   
   Public Ruota
   Public idEstr
   Public sData 

End Class 
Class clsComb
   Public sNumeri 
   Public CollUscite
    
   
   
   Sub Class_Terminate 
      Set  CollUscite = Nothing 
      
   End Sub 
   Sub AddUscita (Ruota , idEstr , Data) 
      Dim cU 
      Set cU = New clsUscita
      cU.Ruota = Ruota
      cU.idEstr = idEstr 
      cU.sData = Data
      
      CollUscite.Add cU 
      
   End Sub

End Class 


Sub Main

   Dim Inizio , Fine , idEstr , r , nClasse
   Dim aRuote , nRuoteSel , aNumeri  , aComb   , sData 
   Dim CollComb 
   
   
   nRuoteSel = ScegliRuote( aRuote  )
   Inizio = EstrazioneIni 
   Fine = EstrazioneFin 
   nClasse = ScegliEsito ( 3)
   
   
   Set CollComb = GetNewCollection 
   
   For idEstr = Inizio To Fine 
      sData = DataEstrazione (idEstr) 
      For r = 1 To nRuoteSel 
         If aRuote (r) <> 11 Then 
            Call GetArrayNumeriRuota (idEstr , aRuote (r), aNumeri ) 
            Call OrdinaMatrice ( aNumeri , 1)      
           
            
            aComb =  SviluppoIntegrale ( aNumeri , nClasse)
            Call AddCombInCollection ( aComb ,nClasse , CollComb ,idEstr ,aRuote (r) ,sData ) 
         End If
         
      Next
      Call AvanzamentoElab ( Inizio , Fine ,idEstr)
      If ScriptInterrotto Then Exit For 
   Next
   
    
   Call ScriviOutput (CollComb )
   
   
End Sub

Sub AddCombInCollection ( aComb ,nClasse , CollComb, idEstr , Ruota , sData) 
   Dim k ,j , sNumeri , cComb , sKey 
   
   For k = 1 To UBound(aComb)
      sNumeri = ""
      For j  =1 To nClasse
         sNumeri = sNumeri & Format2( aComb( k ,j))& "-"
      Next 
   Next 
   
   sNumeri =   RimuoviLastChr (  sNumeri , "-")
   sKey  = "k" & sNumeri
   If GetItemCollection ( CollComb  , sKey , cComb) = False Then 
      Set cComb = New clsComb 
      Set cComb.CollUscite = GetNewCollection 
      cComb.sNumeri = sNumeri 
      
      Call AddItemColl ( CollComb  , cComb ,sKey   )
   End If 
    Call cComb.AddUscita (Ruota ,idEstr, sData)
   
End Sub 

Sub ScriviOutput (CollComb )

   Dim cComb , cU , i  , nColor , j ,nRipetizioni 
   
   For Each cComb In CollComb 
      nRipetizioni =cComb.CollUscite.Count
      If nRipetizioni > 1 Then 
        
         
         ReDim aColori (nRipetizioni )
         For i =1 To nRipetizioni  -1
           If cComb.colluscite(i).IdEstr = cComb.colluscite(i+1).IdEstr Then 
               
               aColori (i) = vbRed
               j = i +1
               Do 
                  aColori (j) = vbRed

                  j = j +1
                  If j > nRipetizioni Then Exit Do 
               Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
               i = j -1
           Else
              aColori (i) = vbBlack

           End If 
         Next
               
         Scrivi  cComb.sNumeri ,True
         i = 0 
         For Each cU In cComb.CollUscite
            i = i + 1
             
            
            
            Scrivi "  -> " &   FormatSpace ( cU.idestr , 5)  & " " & FormatSpace ( cU.sData , 5) & " " & NomeRuota ( cU.ruota )  ,,,,  aColori (i) 
         Next
      End If 
   Next

End Sub
 
Bentornato Mitico Luigi. è sempre un piacere sapere che sei ancora con noi.
Per lo script, forse mi sono un po' arruginito........oppure ho sbagliato qualche cosa , provando una veloce scansione sulle ultime 100 estrazioni del 2021 i miei dati non collimano con quelli del listato, posto le 3 ripetizioni che ci sono state nel range ( 100 ) :

04-34-46 . . . ( Fi/Ca/Ro )

04-58-67 . . . ( Ca/To/Ca )

14-60-80 . . . ( Ve/Mi/Pa )

14-80-84 . . . ( Ro/Ve/Pa )

15-29-70 . . . ( Mi/Ge/Ro )

15-42-53 . . . ( To/Ca/To )

17-46-47 . . . ( Ro/Fi/Fi )

17-63-82 . . . ( Fi/Pa/Fi )

26-42-68 . . . ( Ve/Ca/To )

29-31-67 . . . ( Fi/To/To )

31-71-87 . . . ( Ro/Ge/Ve )

38-50-72 . . . ( Ro/Ve/Ba )

Sono 12 terni che si sono ripetuti 2 volte dopo una prima sortita di fianco le ruote di sfaldamento.

Per le 2 ripetizioni , ce ne sono una marea..........

Buon pranzo, da Nikor.
 
ciao Nikor , ben ritrovato , ogni tanto passo e mi fa piacere ritrovarti specvie perche mi hai fatto notare un bugghetto che consisteva in un next non nel posto giusto.

ecco lo script corretto , pronto per una nuova verifica ... :-) Ciao

Codice:
Option Explicit
Class clsUscita
   
   Public Ruota
   Public idEstr
   Public sData 

End Class 
Class clsComb
   Public sNumeri 
   Public CollUscite
    
   
   
   Sub Class_Terminate 
      Set  CollUscite = Nothing 
      
   End Sub 
   Sub AddUscita (Ruota , idEstr , Data) 
      Dim cU 
      Set cU = New clsUscita
      cU.Ruota = Ruota
      cU.idEstr = idEstr 
      cU.sData = Data
      
      CollUscite.Add cU 
      
   End Sub

End Class 


Sub Main

   Dim Inizio , Fine , idEstr , r , nClasse
   Dim aRuote , nRuoteSel , aNumeri  , aComb   , sData 
   Dim CollComb 
   
   
   nRuoteSel = ScegliRuote( aRuote  )
   Inizio = EstrazioneIni 
   Fine = EstrazioneFin 
   nClasse = ScegliEsito ( 3)
   
   
   Set CollComb = GetNewCollection 
   
   For idEstr = Inizio To Fine 
      sData = DataEstrazione (idEstr) 
      For r = 1 To nRuoteSel 
         If aRuote (r) <> 11 Then 
            Call GetArrayNumeriRuota (idEstr , aRuote (r), aNumeri ) 
            Call OrdinaMatrice ( aNumeri , 1)      
           
            
            aComb =  SviluppoIntegrale ( aNumeri , nClasse)
            Call AddCombInCollection ( aComb ,nClasse , CollComb ,idEstr ,aRuote (r) ,sData ) 
         End If
         
      Next
      Call AvanzamentoElab ( Inizio , Fine ,idEstr)
      If ScriptInterrotto Then Exit For 
   Next
   
    
   Call ScriviOutput (CollComb )
   Set CollComb  = Nothing
   
   
End Sub

Sub AddCombInCollection ( aComb ,nClasse , CollComb, idEstr , Ruota , sData) 
   Dim k ,j , sNumeri , cComb , sKey 
   
   For k = 1 To UBound(aComb)
      sNumeri = ""
      For j  =1 To nClasse
         sNumeri = sNumeri & Format2( aComb( k ,j))& "-"
      Next 
   
   
      sNumeri =   RimuoviLastChr (  sNumeri , "-")
      sKey  = "k" & sNumeri
      If GetItemCollection ( CollComb  , sKey , cComb) = False Then 
         Set cComb = New clsComb 
         Set cComb.CollUscite = GetNewCollection 
         cComb.sNumeri = sNumeri 
         
         Call AddItemColl ( CollComb  , cComb  ,sKey   )
      End If 
       Call cComb.AddUscita (Ruota ,idEstr, sData)
  Next
   
End Sub 

Sub ScriviOutput (CollComb )

   Dim cComb , cU , i  , nColor , j ,nRipetizioni 
   
   For Each cComb In CollComb 
      nRipetizioni =cComb.CollUscite.Count
      If nRipetizioni > 1 Then 
        
         
         ReDim aColori (nRipetizioni )
         For i =1 To nRipetizioni  -1
           If cComb.colluscite(i).IdEstr = cComb.colluscite(i+1).IdEstr Then 
               
               aColori (i) = vbRed
               j = i +1
               Do 
                  aColori (j) = vbRed

                  j = j +1
                  If j > nRipetizioni Then Exit Do 
               Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
               i = j -1
           Else
              aColori (i) = vbBlack

           End If 
         Next
               
         Scrivi  cComb.sNumeri ,True
         i = 0 
         For Each cU In cComb.CollUscite
            i = i + 1
             
            
            
            Scrivi "  -> " &   FormatSpace ( cU.idestr , 5)  & " " & FormatSpace ( cU.sData , 5) & " " & NomeRuota ( cU.ruota )  ,,,,  aColori (i) 
         Next
      End If 
   Next

End Sub
 
Buon giorno a tutte/i.

A me risulta questo:

02/01/2021 - 21/08/2021 (100 Estrazioni)

001 04.34.46 20/04/2021 FI 27/04/2021 CA 10/07/2021 RO
002 04.58.67 08/05/2021 CA 20/05/2021 TO 15/07/2021 CA
003 14.60.80 27/03/2021 VE 10/04/2021 MI 21/08/2021 PA
004 14.80.84 23/03/2021 RO 27/03/2021 VE 21/08/2021 PA
005 15.29.70 19/01/2021 MI 17/06/2021 GE 14/08/2021 RO
006 15.42.53 12/01/2021 TO 27/03/2021 CA 21/08/2021 TO
007 17.46.47 23/01/2021 RO 07/08/2021 FI 19/08/2021 FI
008 17.63.82 20/02/2021 FI 29/04/2021 PA 10/06/2021 FI
009 26.42.68 25/02/2021 VE 27/03/2021 CA 06/05/2021 TO
010 29.31.67 11/02/2021 FI 20/05/2021 TO 07/08/2021 TO
011 31.71.87 07/01/2021 RO 06/02/2021 GE 06/05/2021 VE
012 38.50.72 13/05/2021 RO 12/06/2021 VE 27/07/2021 BA

Elaborato in 00:00:07 secondi.



:)
 
Ciao Joe , dal mio script stesso range ne risultano molti di piu , io trovo tutti i terni ripetutit senza altre condizioni

tu ad esempio non hai

01-71-74
-> 9963 12.08.2021 Milano
-> 9967 21.08.2021 Napoli
 
Ciao Luigi, TUTTO OK. una vera Bomba(y).

Per le verifiche ho mangiato solo un tramezzino al volo ...mi rifaccio questa sera a cena;)
Verifica ultime 10 estrazioni OK. stessi dati che avevo postato nella precedente tabella!
Verifica ultime 20 estrazioni ( esclusa la Nazionale ) stessi dati = a 19 ripetizioni che avevo scritto in precedenza !
Verifica anno 2021 = 100 estrazioni , Mi pare TUTTO OK. anche se non ho potuto verificare i congrui ad uno ad uno ma ci metterei le mani sul fuoco!

Grazie Luigi , come sempre sei unico!
 
caro Joe solo ora ho capito che avevi messo solo quelli con presenza >= 3 :-) scusa ...

Grazie a te Nikor .. ciao ..
 
Bentornato Mitico Luigi. è sempre un piacere sapere che sei ancora con noi.
Per lo script, forse mi sono un po' arruginito........oppure ho sbagliato qualche cosa , provando una veloce scansione sulle ultime 100 estrazioni del 2021 i miei dati non collimano con quelli del listato, posto le 3 ripetizioni che ci sono state nel range ( 100 ) :

04-34-46 . . . ( Fi/Ca/Ro )

04-58-67 . . . ( Ca/To/Ca )

14-60-80 . . . ( Ve/Mi/Pa )

14-80-84 . . . ( Ro/Ve/Pa )

15-29-70 . . . ( Mi/Ge/Ro )

15-42-53 . . . ( To/Ca/To )

17-46-47 . . . ( Ro/Fi/Fi )

17-63-82 . . . ( Fi/Pa/Fi )

26-42-68 . . . ( Ve/Ca/To )

29-31-67 . . . ( Fi/To/To )

31-71-87 . . . ( Ro/Ge/Ve )

38-50-72 . . . ( Ro/Ve/Ba )

Sono 12 terni che si sono ripetuti 2 volte dopo una prima sortita di fianco le ruote di sfaldamento.

Per le 2 ripetizioni , ce ne sono una marea..........

Buon pranzo, da Nikor.
....Bene molto bene , anche questa mia precedente elaborazione sulle 3 presenze collima con l'ultimo post di Joe ....

Saluti a tutti, Nikor
 
Mi risultano:

499 Terni che si sono ripetuti nelle ultime 100 estrazioni.

Tra questi ci sono ANCHE i 12 elencati al messaggio #49.

Giustamente questi 12, selezionati, con >= 3,

sono vincolati dall'avere almeno 3 presenze.

:)
 
Ultima modifica:
confermo , anche il mio script ne da 499
Mi risultano:

499 Terni che si sono ripetuti nelle ultime 100 estrazioni.

Tra questi ci sono ANCHE i 12 elencati al messaggio #49.

Giustamente questi 12, selezionati, con >= 3,

sono vincolati dall'avere almeno 3 presenze.

:)
anche a me , sostituire nel mio script questa routine per avere il conteggio

Codice:
Sub ScriviOutput(CollComb)

   Dim cComb,cU,i,nColor,j,nRipetizioni , nTrov 
   Dim aRipetizioni ( 100 )
   
   For Each cComb In CollComb
      nRipetizioni = cComb.CollUscite.Count
      If nRipetizioni > 1 Then
         If nRipetizioni > 100 Then 
             aRipetizioni ( 101 ) =aRipetizioni ( 101 ) +1


         Else
            aRipetizioni ( nRipetizioni ) = aRipetizioni ( nRipetizioni ) +1 


         End If 
         
         nTrov = nTrov +1 
         
         ReDim aColori(nRipetizioni)
         For i = 1 To nRipetizioni - 1
           If cComb.colluscite(i).IdEstr = cComb.colluscite(i + 1).IdEstr Then
               
               aColori(i) = vbRed
               j = i + 1
               Do
                  aColori(j) = vbRed

                  j = j + 1
                  If j > nRipetizioni Then Exit Do
               Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
               i = j - 1
           Else
              aColori(i) = vbBlack

           End If
         Next
               
         Scrivi FormatSpace ( nTrov , 5 ,True ) & ") " & cComb.sNumeri,True
         i = 0
         For Each cU In cComb.CollUscite
            i = i + 1
             
            
            
            Scrivi "     -> " & FormatSpace(cU.idestr,5) & " " & FormatSpace(cU.sData,5) & " " & NomeRuota(cU.ruota),,,,aColori(i)
         Next
      End If
   Next
   
   Scrivi 
   Scrivi 
   Scrivi "Riepilogo" , True
   
   For j  =2 To 100
      If aRipetizioni (j) > 0 Then 
         Scrivi "Con " & FormatSpace ( j , 3) & " ripetizioni  : " & FormatSpace(aRipetizioni (j) ,5 ,True) 
      End If 
   Next 
   If aRipetizioni (j) > 0 Then 
         Scrivi ">= " & FormatSpace ( j , 3) & " ripetizioni  : " & FormatSpace(aRipetizioni (j) ,5 ,True) 
   End If 
End Sub
 
Scusa Luigi ma,

non dovrebbe essere indice "i" ?

Cioè

For i = 2 To j

Scrivi (i,3) & aRipetizioni (i) ecc.

:)
 
ciao Joe, non ho capito la parte di codice a cui ti riferisci , evidenziamela di rosso sul mio script

se era qui

Codice:
 For i = 1 To nRipetizioni - 1


è giusto cosi serve per dare colori uguali alle combinazioni sortite nella stessa estrazione.


semmai mi sono accorto che questa riga

Dim aRipetizioni ( 100 )

va sostituita con

Dim aRipetizioni ( 101 )
 
questo è il mio script con le correzioni e col conteggio delel combinazioni

Codice:
Option Explicit
Class clsUscita
   
   Public Ruota
   Public idEstr
   Public sData

End Class
Class clsComb
   Public sNumeri
   Public CollUscite
    
   
   
   Sub Class_Terminate
      Set CollUscite = Nothing
      
   End Sub
   Sub AddUscita(Ruota,idEstr,Data)
      Dim cU
      Set cU = New clsUscita
      cU.Ruota = Ruota
      cU.idEstr = idEstr
      cU.sData = Data
      
      CollUscite.Add cU
      
   End Sub

End Class


Sub Main

   Dim Inizio,Fine,idEstr,r,nClasse
   Dim aRuote,nRuoteSel,aNumeri,aComb,sData
   Dim CollComb
   
   
   nRuoteSel = ScegliRuote(aRuote)
   Inizio = EstrazioneIni
   Fine = EstrazioneFin
   nClasse = ScegliEsito(3)
   
   
   Set CollComb = GetNewCollection
   
   For idEstr = Inizio To Fine
      sData = DataEstrazione(idEstr)
      For r = 1 To nRuoteSel
         If aRuote(r) <> 11 Then
            Call GetArrayNumeriRuota(idEstr,aRuote(r),aNumeri)
            Call OrdinaMatrice(aNumeri,1)
           
            
            aComb = SviluppoIntegrale(aNumeri,nClasse)
            Call AddCombInCollection(aComb,nClasse,CollComb,idEstr,aRuote(r),sData)
         End If
         
      Next
      Call AvanzamentoElab(Inizio,Fine,idEstr)
      If ScriptInterrotto Then Exit For
   Next
   
    
   Call ScriviOutput(CollComb)
   Set CollComb = Nothing
   
   
End Sub

Sub AddCombInCollection(aComb,nClasse,CollComb,idEstr,Ruota,sData)
   Dim k,j,sNumeri,cComb,sKey
   
   For k = 1 To UBound(aComb)
      sNumeri = ""
      For j = 1 To nClasse
         sNumeri = sNumeri & Format2(aComb(k,j)) & "-"
      Next
   
   
      sNumeri = RimuoviLastChr(sNumeri,"-")
      sKey = "k" & sNumeri
      If GetItemCollection(CollComb,sKey,cComb) = False Then
         Set cComb = New clsComb
         Set cComb.CollUscite = GetNewCollection
         cComb.sNumeri = sNumeri
         
         Call AddItemColl(CollComb,cComb,sKey)
      End If
      Call cComb.AddUscita(Ruota,idEstr,sData)
  Next
   
End Sub

Sub ScriviOutput(CollComb)

   Dim cComb,cU,i,nColor,j,nRipetizioni,nTrov
   Dim aRipetizioni(101)
   
   For Each cComb In CollComb
      nRipetizioni = cComb.CollUscite.Count
      If nRipetizioni > 1 Then
         If nRipetizioni > 100 Then
             aRipetizioni(101) = aRipetizioni(101) + 1


         Else
            aRipetizioni(nRipetizioni) = aRipetizioni(nRipetizioni) + 1


         End If
         
         nTrov = nTrov + 1
         
         ReDim aColori(nRipetizioni)
         For i = 1 To nRipetizioni - 1
           If cComb.colluscite(i).IdEstr = cComb.colluscite(i + 1).IdEstr Then
               
               aColori(i) = vbRed
               j = i + 1
               Do
                  aColori(j) = vbRed

                  j = j + 1
                  If j > nRipetizioni Then Exit Do
               Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
               i = j - 1
           Else
              aColori(i) = vbBlack

           End If
         Next
               
         Scrivi FormatSpace(nTrov,5,True) & ") " & cComb.sNumeri,True
         i = 0
         For Each cU In cComb.CollUscite
            i = i + 1
             
            
            
            Scrivi "     -> " & FormatSpace(cU.idestr,5) & " " & FormatSpace(cU.sData,5) & " " & NomeRuota(cU.ruota),,,,aColori(i)
         Next
      End If
   Next
   
   Scrivi
   Scrivi
   Scrivi "Riepilogo",True
   
   For j = 2 To 100
      If aRipetizioni(j) > 0 Then
         Scrivi "Con " & FormatSpace(j,3) & " ripetizioni  : " & FormatSpace(aRipetizioni(j),5,True)
      End If
   Next
   If aRipetizioni(j) > 0 Then
         Scrivi ">= " & FormatSpace(j,3) & " ripetizioni  : " & FormatSpace(aRipetizioni(j),5,True)
   End If
End Sub
 
Salutissimi a tutti e in questo caso in particolare al grande Luigi! Ma cosa vedo??? 😲 uno smile del grandissimo Luigi??? 🙀 doppio stupore... 😮😮 per il grande rientro del Maestro e per lo smile... rarissimo da parte sua! :LOL:

Purtroppo dopo gli smile ridanciani... uno triste... 😪 anzi due... 😵 anzi tre... 😭

Perchè? Perchè l'ultimo script postato da LU, che presumo sia il più aggiornato, mi da errore.. e non capisco davvero da cosa possa dipendere visto che a tutti gli altri qui sopra funziona! 😱

Ora vi posto lo scoraggiante msg che ottengo nel farlo girare... ho provato a scegliere sia una ruota per volta, che + ruote che TT, ma nulla... ottengo sempre il solito deprimente errore bloccante... ❌⛔🛑 Ditemi che è solo il caldo vi prego... 😬

scoraggianteerrore.jpg

E la riga assassina... sembra essere questa... :unsure:

Codice:
For k = 1 To UBound(aComb)

Ciao grandissimi! 👋🤠
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 31 ottobre 2024
    Bari
    16
    03
    32
    19
    10
    Cagliari
    90
    68
    24
    31
    87
    Firenze
    05
    20
    22
    03
    53
    Genova
    15
    16
    69
    05
    36
    Milano
    58
    86
    89
    42
    66
    Napoli
    32
    26
    29
    69
    01
    Palermo
    42
    33
    82
    35
    57
    Roma
    28
    74
    31
    47
    44
    Torino
    15
    75
    07
    20
    39
    Venezia
    25
    47
    73
    67
    01
    Nazionale
    80
    52
    23
    71
    49
    Estrazione Simbolotto
    40
    29
    22
    45
    35

Ultimi Messaggi

Indietro
Alto