LottoGAM Forum

Cronologico diverso RDL uguale

« Older   Newer »
  Share  
I Legend
view post Posted on 29/3/2021, 18:08 by: I Legend
Avatar

Curioso

Group:
Member
Posts:
22

Status:


Ciao allora se ho capito bene ,
lo script se non ho fatto errori dovrebbe trovare lo stesso numero che ha il medesimo ritardo di livello ma diverso rc su piu ruote e anche lo stesso numero che ha il medesimo RC ma RSL diverso .
purtroppo non essendo un programmatore non so se ho fatto errori , provate a testarlo perfavore
se ci fossero errori segnalateli e se riesco provo a sistemare :)
ecco lo script
muovendo le estrazioni da spaziometria i valori dello script cambiano
lo script è una fotografia all ultima estrazione in archivio.
non è uno storico, il mio pc è vecchiotto e non lo lancio in lavori troppo impegnativi ;)
fatemi sapere che ne pensate
CODICE
Option Explicit
' non si garantisce che i risultati ottenuti siano esatti
' non si escludono eventuali e sempre possibili bug
' lo script non da previsioni da giocare ma una semplice foto statistica sempre che sia esatta

Sub Main
  Dim aRsl(90,13)
  Dim aRit(90,13)
  Dim aRuote:aRuote = Array(0,1,2,3,4,5,6,7,8,9,10,12)
  Dim E,R,m
  Dim Ruota,idEstrFin,Rit,nRSL,nLiv,sNumSinc
  Dim RitSincMax,nSincMax,RSincMax
  idEstrFin = EstrazioneFin
  RitSincMax = 0
  nSincMax = 0
  RSincMax = ""
  m = 0
  ' ciclo i 90 estratti
  For E = 1 To 90
     aRsl(E,1) = E
     aRit(E,1) = E
     ReDim aRslrip(0)
     ReDim aRitrip(0)
     For R = 1 To UBound(aRuote)
     ' funzione da verificare non si garantisce la corretta funzionalita
        Call RitSincDiLiv2(E,aRuote(R),idEstrFin,Rit,nRSL,nLiv,sNumSinc)
        ' questa funzione è corretta perche interna a spaziometria
     ' nRSL=  RitSincDiLiv(E,aRuote(R),idEstrFin,nliv)
        If nLiv = 1 Then
           If RitSincMax < nRSL Then
              RitSincMax = nRSL
              nSincMax = E
              RSincMax = SiglaRuota(aRuote(R))
           End If ' cerco il numero con massimo ritardo sincrono di livello 1
           aRsl(E,R + 1) = FormattaStringa(nRSL,"000")
           aRit(E,R + 1) = FormattaStringa(Rit,"000")
           m = m + 1
           ReDim Preserve aRslrip(m)
           ReDim Preserve aRitrip(m)
           aRslrip(m) = nRSL
           aRitrip(m) = Rit
        Else
           aRsl(E,R + 1) = "---"'
           aRit(E,R + 1) = "---"'
        End If ' nLiv=1
        ' cerco se ci sono medesimi ritardi Sincroni di livello
        ReDim aNsinc(0),aQsinc(0)
        Call NumeriRipetutiRilevatiV(aRslrip,aNsinc,aQsinc)
        If UBound(aNsinc) > 0 Then
           aRsl(E,13) = StringaNumeri(aNsinc)
        End If
        ' cerco se ci sono medesimi ritardi cronologici
        ReDim aNrit(0),aQrit(0)
        Call NumeriRipetutiRilevatiV(aRitrip,aNrit,aQrit)
        If UBound(aNrit) > 0 Then
           aRit(E,13) = StringaNumeri(aNrit)
        End If
        Next ' aRuote
     Next ' E
     Scrivi "Massimo Ritardo sincrono di livello 1: E:" & Format2(nSincMax) & "  R: " & RSincMax & "  Rsl: " & RitSincMax
Scrivi "Tabella Estratti con Medesimo RSL"
Call GetTabellaSincroni(aRsl,aRit)
Scrivi "Tabella Estratti con Medesimo RC"
Call GetTabellaRitardi(aRsl,aRit)
End Sub
Sub RitSincDiLiv2(NumeroAnalizzato,Ruota,idEstrFin,Rit,nRSL,nLiv,sNumSinc)
  Dim idTemp,idPrima
  Dim idEstr
  Dim p
  Dim aN(1)
  Dim aR(1)
  Dim aSinc(5)
  aN(1) = NumeroAnalizzato
  aR(1) = Ruota
  idEstr = SerieUltima(1,idEstrFin,aN,aR,1)
  Rit = idEstrFin - idEstr
  ReDim aE(0)
  Call GetArrayNumeriRuota(idEstr,aR(1),aE)
  If UBound(aE) = 0 Then
     Rit = 0 '
     nRSL = 0 '
     nLiv = 0 '
     sNumSinc = "-- -- -- -- --"
  Else
     nLiv = 0
     idTemp = 0
     For p = 1 To 5
        aN(1) = aE(p)
        If SerieUltima(idEstr,idEstrFin,aN,aR,1) = idEstr Then
           nLiv = nLiv + 1
           aSinc(p) = aN(1)
        Else
           aSinc(p) = "--"
           idPrima = SeriePrima(idEstr + 1,idEstrFin,aN,aR,1)
           If idTemp < idPrima Then idTemp = idPrima
        End If
     Next
     If idTemp = 0 Then idTemp = idEstr ' questo se nessun estratto è caduto
     nRSL = idEstrFin - idTemp ' questo calcola il ritardo di livello ;-)
     sNumSinc = StringaNumeri(aSinc," ",True)
  End If
End Sub
Sub GetTabellaSincroni(aRsl,aRit)
Dim aTit,E,id
aTit=Array(0,"Estratto","Bari","Cagliari","Firenze","Genova","Milano","Napoli","Palermo","Roma","Torino","Venezia","Nazionale","RSL Convergente")
Call InitTabella(aTit)
For E = 1 To UBound(aRsl)
     If aRsl(E,13) <> "" Then
        ReDim aTab(13)
        aTab(1) = aRsl(E,1)
       
        For id = 2 To UBound(aRsl,2) - 1
           If aRsl(E,id) <> "---" Then
              aTab(id) = "RSL: ( " & aRsl(E,id) & ")  Rc:[" & aRit(E,id) & "]"
             
           End If
        Next
        aTab(13) = aRsl(E,13)
     
        Call AddRigaTabella(aTab)
     End If
  Next
  Call CreaTabella()

End Sub
Sub GetTabellaRitardi(aRsl,aRit)
Dim aTit,E,id
aTit=Array(0,"Estratto","Bari","Cagliari","Firenze","Genova","Milano","Napoli","Palermo","Roma","Torino","Venezia","Nazionale","RC Convergente")
Call InitTabella(aTit)
For E = 1 To UBound(aRit)
     If aRit(E,13) <> "" Then
        ReDim aTab(13)
        aTab(1) = aRit(E,1)
       
        For id = 2 To UBound(aRit,2) - 1
           If aRit(E,id) <> "---" Then
              aTab(id) = "RSL: ( " & aRsl(E,id) & ")  Rc:[" & aRit(E,id) & "]"
             
           End If
        Next
        aTab(13) = aRit(E,13)
     
        Call AddRigaTabella(aTab)
     End If
  Next
  Call CreaTabella()

End Sub

Ciao :)
 
Top
23 replies since 28/3/2021, 19:24   551 views
  Share