Novità

Domanda X Luigi

i legend

Premium Member
Ciao Luigi ho una domanda per te, spero tu possa trovare il tempo e la pazienza per rispondere
Ho caricato dei valori in un array
i valori sono 0 e N
ora vorrei inserire facendo un ciclo quante volte si sono susseguiti i valori 0 consecutivamente
e: 1.0.1.1.1.1.0.0.0.0.1.0.0.1
nell' esempio maxNegCons.=4,maxFreqPos=4
Spero la domanda non sia troppo stupida, rigurda lo script che ho compilato per i Cicli, vorrei affiancare anche questi dati

dallo studio fatto la terzina 35.42.45 nei prossimi 3 colpi potrebbe dare un ambo su tutte
attendiamo
grazie e ciao
 
quante volte si sono susseguiti gli 0 che significa ? Il numero massimo di 0 consecutivi ? Il numero di sequenze composte da almeno due 0 ? In ogni caso ci vuole un altro ciclo , ad ogni passaggio esamini l'elemento corrente , se è uno 0 incrementi una variabile preposta se non lo è azzeri la sudddetta variabile ma prima la usi per memorizzare il valore massimo raggiunto userai un altra varaiabile ancora ,..insomme devi implementare una logica simile
 
ciao Luigi numero massimo di zero consecutivi, Forse non mi sto concentrando abbastanza ,ma non ci sto riuscendo Avevo gia provato con due cicli ma non restituisce i valori corretti...quindi sbaglio ciao e grazie per la tua disponibilita
 
infatti non servono 2 cicli ma uno solo piu due variabili una serve per conteggiare il numero di zeri l'altra per memorizzare il numero massimo trovato (cioè il valore massimo raggiunto dalal precedente variabile)

inizi il ciclo
l 'elemento corrente è 0 ?
si
nZeriCons =nZeriCons +1
if nZeriCons > nZeriConsMax then nZeriConsMax = nZeriCons
no
nZeriCons =0
continua li ciclo



piu banale di cosi ..
 
Luigi non ci crederai ma avevo gia scritto lo stesso codice per calcolare l'incremento del ritardo max sto
Questi giorni sono talmente stanco che mi perdo in un bicchiere d'acqua. Grazie infinite per la tua pazienza:)
 
Ciao Luigi, scusa il mio intervento: volevo chiederti se con il tuo programma 'spaziometria' è possibile eseguire quanto appresso esposto: desideravo rilevare per singola ruota e singolo mese dell'anno gli ambi e i terni più frequenti, per esempio: ambo 41-2 mese gennaio 2001 uscito 0 volte mese febr. 2001 uscito 3 volte mese marzo 2003 uscito 0 volte e così via ....... i numeri inseriti sono casuali. Certo che non essendoci alcuna spiegazione sulle molteplici applicazioni su spazionmetria risulta difficile trovare quello che si cerca. Grazie per la tua disponibilità, saluti, nino
 
non loso nemmeno io perche il programma non lo uso , puoi usare qesto script che fa quello che mi pare vuoi tu

Codice:
Option Explicit
Sub Main
    Dim nTipoRicerca
    Dim nAnnoRicerca
    Dim nClasse
    Dim r,m
    Dim nRetRit,nRetRitMax,nRetFre,nStart,nEnd,nValore,nMaxRisultati,nCols
    ReDim aR(1)
    nTipoRicerca = TipoRicerca
    nAnnoRicerca = ScegliAnno
    nClasse = ScegliClasse
    nMaxRisultati = CInt(InputBox("Quanti elementi scegliere come primi della lista ? ","Quantita combinazioni",10))
    ReDim aNum(0)
    Call GetANumeriPerSvil(aNum)
    ReDim aCol(nClasse)
    
    If nAnnoRicerca  =0 Then Exit Sub
    If nMaxRisultati  <= 0 Then Exit Sub
    
    
    Dim aTitoli
    aTitoli = Array("" ,"Ruota","Mese","Numeri" , "Ritardo","RitardoMax","Frequenza")
    Call InitTabella(aTitoli)
    
    For m = 1 To 12
        If GetLimitiMese(m,nAnnoRicerca,nStart,nEnd) Then
            For r = 1 To 12
                If r <> 11 Then
                    ReDim aValMax(nMaxRisultati,3)
                    aR(1) = r
                    nCols = 0
                    Call InitSviluppoIntegrale(aNum,nClasse)
                    Do Until GetCombSviluppo(aCol) = False
                        Call StatisticaFormazioneTurbo(aCol,aR,nClasse,nRetRit,nRetRitMax,0,nRetFre,nStart,nEnd)
                        If nTipoRicerca = 0 Then
                            nValore = nRetRit
                            Call AggiungiAValoriMax(aCol,nValore,aValMax,nRetRit,nRetRitMax,nRetFre,nMaxRisultati,1)
                        ElseIf nTipoRicerca = 1 Then
                            nValore = nRetRitMax
                            Call AggiungiAValoriMax(aCol,nValore,aValMax,nRetRit,nRetRitMax,nRetFre,nMaxRisultati,2)
                        ElseIf nTipoRicerca = 2 Then
                            nValore = nRetFre
                            Call AggiungiAValoriMax(aCol,nValore,aValMax,nRetRit,nRetRitMax,nRetFre,nMaxRisultati,3)
                        End If
                        nCols = nCols + 1
                        If nCols Mod 100 = 0 Then
                            Messaggio("Analizzate colonne : " & nCols)
                            If ScriptInterrotto Then Exit Do
                        End If
                    Loop
                    Call AggiungiRigheTabella(aValMax,nMaxRisultati,NomeRuota(r),MeseNome(m),nTipoRicerca + 4)
                End If
                
                


            Next
        End If
        Call AvanzamentoElab(1,12,m)
        If ScriptInterrotto Then Exit For
    Next
    
    Call CreaTabella
    
End Sub
Function ScegliAnno()
    
    Dim nA,nB,nAnno
    nA = Anno(1)
    nB = Anno(EstrazioniArchivio)
    nAnno = CInt(InputBox("Inserire un anno da " & nA & " a " & nB,"Scelta anno",nA))
    If nAnno >= nA And nAnno <= nB Then
        ScegliAnno = nAnno
    Else
        ScegliAnno = 0
    End If
End Function
Function TipoRicerca()
    Dim aV
    aV = Array("Ritardo","RitardoMax","Frequenza")
    TipoRicerca = ScegliOpzioneMenu(aV,2)
End Function
Function ScegliClasse()
    Dim aV
    aV = Array("Estratto","Ambo","Terno")
    ScegliClasse = ScegliOpzioneMenu(aV,0) + 1
End Function
Function GetLimitiMese(nMese,nAnno,nRetIni,nRetFi)
    Dim g,id
    nRetIni = 0
    nRetFi = 0
    Do
        g = g + 1
        id = DataEstrToIdEstr(g,nMese,nAnno)
    Loop While id = 0 And g <= 30
    If id > 0 Then nRetIni = id
    g = 32
    Do
        g = g - 1
        id = DataEstrToIdEstr(g,nMese,nAnno)
    Loop While id = 0 And g > 0
    If id > 0 Then nRetFi = id
    If nRetIni And nRetFi > 0 Then
        GetLimitiMese = True
    Else
        GetLimitiMese = False
    End If
End Function
Sub AggiungiAValoriMax(aCol,nValore,aValMax,nRit,nRitMax,nFre,nMaxElementi,nIdValue)
    Dim k,j
    For k = 1 To nMaxElementi
        If nValore >= aValMax(k,nIdValue) Then
            For j = nMaxElementi To k + 1 Step - 1
                aValMax(j,0) = aValMax(j - 1,0)
                aValMax(j,1) = aValMax(j - 1,1)
                aValMax(j,2) = aValMax(j - 1,2)
                aValMax(j,3) = aValMax(j - 1,3)
            Next
            aValMax(k,0) = StringaNumeri(aCol)
            aValMax(k,1) = nRit
            aValMax(k,2) = nRitMax
            aValMax(k,3) = nFre
            Exit For
        End If
    Next
    
End Sub

Sub AggiungiRigheTabella(aValMax,nMaxRisultati,sRuota,sMese,nIdColValore)
    
    ReDim aV(7)
    Dim k,j
    ReDim aColori(7)
    For k = 0 To 7
        aColori(k) = vbBlack
    Next
    aColori(nIdColValore) = vbRed
    
    
    For k = 1 To nMaxRisultati
        aV(1) = sRuota
        aV(2) = sMese

        For j = 0 To 3
            aV(j + 3) = aValMax(k,j)
        Next
        
        Call AddRigaTabella(aV,,,,aColori)
    Next
    
End Sub

    
Sub GetANumeriPerSvil(aNum)
    Dim k
    ReDim aNum(90)
    
    For k = 1 To 90
        aNum(k) = k
    Next
    
End Sub
 
Ultima modifica di un moderatore:
scusa luigi...ce uno script che mi puo filtrare un file txt colonnale con colonne di lunghezza x e ricercare tutt le colonne che hanno una consecutivita x tipo: voglio ricercare delle colonne che hanno una sola consecutivita 2 : 01 02 05 07 08 12 15 21 30 errata in quanto abbiamo due consecutivita' (01 02, 07 08) invece 01 02 12 18 20 25 30 ecc giusta in quanto trovo solo una consecutivita (01 02)
 
Grazie Luigi, era proprio quello che cercavo. Grazie; con spaziometria si può fare tutto: peccato non poter vincere contro la
lottomatica.

nino
 
Bello script. Luigi dovresti fare una raccolta in modo tale da poter essere studiati. E l unico modo per imparare. Ciao a tutti
 
Ciao Legend , grazie , gli script che faccio comunqu si trovano tutti nella cartella script del programma , ad ogni nuovo stup si aggiungono gli script che ho fatto per ultimi .. sempre tenendo presente che o gli script li faccio solo una volta ogni tanto ..
 
Ciao Luigi, ancora grazie per lo script:bellissimo; vorrei chiederti se è possibile aggiungere un'altra colonna che dia la data di estrazione
del dato cercato: per es. terno 22-40-50- data 12 giugno - per il mese di giugno(ect)
come e dove si aggiunge tale valore?
Ancora grazie e scusa per il disturbo.

nino
 
Ritengo di aver abusato della tua gentilezza, richiedendo qualcosa di stupido; purtroppo non so come fare; in alternativa a Luigi, che ringrazio sempre per il suo fare generoso, c'è qualcuno esperto di script, che mi può aiutare?:
bisognerebbe inserire nello script al n.9, le righe che implementano il quadro riepilogativo di una colonna per inserire il giorno del mese in cui si è presentato l'ambo. Credo di essere stato chiaro nella richiesta e ringrazio anticipatamente chi mi risponderà.

nino
 
ciao nel caso della statistica per ritardo dato che sceglie i ritardi migliori sovente capita che la combinazione in questione quel mese non sia mai uscita.
Nel caso d iricerca per frequenza succede l'opposto prendendo le migliori ogni combinazione potrebbe essere uscita piu di una sola volta in quel mese.
lo script sotto modificat o ti fa vedere l'ultima uscita

Codice:
Option Explicit
Sub Main
    Dim nTipoRicerca
    Dim nAnnoRicerca
    Dim nClasse
    Dim r,m
    Dim nRetRit,nRetRitMax,nRetFre,nStart,nEnd,nValore,nMaxRisultati,nCols
    ReDim aR(1)
    nTipoRicerca = TipoRicerca
    nAnnoRicerca = ScegliAnno
    nClasse = ScegliClasse
    nMaxRisultati = CInt(InputBox("Quanti elementi scegliere come primi della lista ? ","Quantita combinazioni",10))
    ReDim aNum(0)
    Call GetANumeriPerSvil(aNum)
    ReDim aCol(nClasse)
    If nAnnoRicerca = 0 Then Exit Sub
    If nMaxRisultati <= 0 Then Exit Sub
    Dim aTitoli
    aTitoli = Array("","Ruota","Mese","Numeri","Ritardo","RitardoMax","Frequenza","Data uscita" , "Cinquina")
    Call InitTabella(aTitoli)
    For m = 1 To 12
        If GetLimitiMese(m,nAnnoRicerca,nStart,nEnd) Then
            For r = 1 To 12
                If r <> 11 Then
                    ReDim aValMax(nMaxRisultati,5)
                    aR(1) = r
                    nCols = 0
                    Call InitSviluppoIntegrale(aNum,nClasse)
                    Do Until GetCombSviluppo(aCol) = False
                        Call StatisticaFormazioneTurbo(aCol,aR,nClasse,nRetRit,nRetRitMax,0,nRetFre,nStart,nEnd)
                        If nTipoRicerca = 0 Then
                            nValore = nRetRit
                            Call AggiungiAValoriMax(aCol,nValore,aValMax,nRetRit,nRetRitMax,nRetFre,nMaxRisultati,1,r,nEnd)
                        ElseIf nTipoRicerca = 1 Then
                            nValore = nRetRitMax
                            Call AggiungiAValoriMax(aCol,nValore,aValMax,nRetRit,nRetRitMax,nRetFre,nMaxRisultati,2,r,nEnd)
                        ElseIf nTipoRicerca = 2 Then
                            nValore = nRetFre
                            Call AggiungiAValoriMax(aCol,nValore,aValMax,nRetRit,nRetRitMax,nRetFre,nMaxRisultati,3,r,nEnd)
                        End If
                        nCols = nCols + 1
                        If nCols Mod 100 = 0 Then
                            Messaggio("Analizzate colonne : " & nCols)
                            If ScriptInterrotto Then Exit Do
                        End If
                    Loop
                    Call AggiungiRigheTabella(aValMax,nMaxRisultati,NomeRuota(r),MeseNome(m),nTipoRicerca + 4)
                End If
            Next
        End If
        Call AvanzamentoElab(1,12,m)
        If ScriptInterrotto Then Exit For
    Next
    Call CreaTabella
End Sub
Function ScegliAnno()
    Dim nA,nB,nAnno
    nA = Anno(1)
    nB = Anno(EstrazioniArchivio)
    nAnno = CInt(InputBox("Inserire un anno da " & nA & " a " & nB,"Scelta anno",nA))
    If nAnno >= nA And nAnno <= nB Then
        ScegliAnno = nAnno
    Else
        ScegliAnno = 0
    End If
End Function
Function TipoRicerca()
    Dim aV
    aV = Array("Ritardo","RitardoMax","Frequenza")
    TipoRicerca = ScegliOpzioneMenu(aV,2)
End Function
Function ScegliClasse()
    Dim aV
    aV = Array("Estratto","Ambo","Terno")
    ScegliClasse = ScegliOpzioneMenu(aV,0) + 1
End Function
Function GetLimitiMese(nMese,nAnno,nRetIni,nRetFi)
    Dim g,id
    nRetIni = 0
    nRetFi = 0
    Do
        g = g + 1
        id = DataEstrToIdEstr(g,nMese,nAnno)
    Loop While id = 0 And g <= 30
    If id > 0 Then nRetIni = id
    g = 32
    Do
        g = g - 1
        id = DataEstrToIdEstr(g,nMese,nAnno)
    Loop While id = 0 And g > 0
    If id > 0 Then nRetFi = id
    If nRetIni And nRetFi > 0 Then
        GetLimitiMese = True
    Else
        GetLimitiMese = False
    End If
End Function
Sub AggiungiAValoriMax(aCol,nValore,aValMax,nRit,nRitMax,nFre,nMaxElementi,nIdValue,r,nEnd )
    Dim k,j
    Dim idEstr
    
    idEstr = nEnd -nRit
    
    For k = 1 To nMaxElementi
        If nValore >= aValMax(k,nIdValue) Then
            For j = nMaxElementi To k + 1 Step - 1
                aValMax(j,0) = aValMax(j - 1,0)
                aValMax(j,1) = aValMax(j - 1,1)
                aValMax(j,2) = aValMax(j - 1,2)
                aValMax(j,3) = aValMax(j - 1,3)
                aValMax(j,4) = aValMax(j - 1,4)
                aValMax(j,5) = aValMax(j - 1,5)
                
            Next
            aValMax(k,0) = StringaNumeri(aCol)
            aValMax(k,1) = nRit
            aValMax(k,2) = nRitMax
            aValMax(k,3) = nFre
            
            If nFre > 0 Then
                aValMax(k,4) = GetInfoEstrazione( idEstr)
                aValMax(k,5) = StringaEstratti (    idEstr , r )
            Else
                aValMax(k,4) = ""
                aValMax(k,5) = ""
            End If
            
            Exit For
        End If
    Next
End Sub
Sub AggiungiRigheTabella(aValMax,nMaxRisultati,sRuota,sMese,nIdColValore)
    ReDim aV(9)
    Dim k,j
    ReDim aColori(9)
    For k = 0 To 9
        aColori(k) = vbBlack
    Next
    aColori(nIdColValore) = vbRed
    For k = 1 To nMaxRisultati
        aV(1) = sRuota
        aV(2) = sMese
        For j = 0 To 5
            aV(j + 3) = aValMax(k,j)
        Next
        Call AddRigaTabella(aV,,,,aColori)
    Next
End Sub
Sub GetANumeriPerSvil(aNum)
    Dim k
    ReDim aNum(90)
    For k = 1 To 90
        aNum(k) = k
    Next
End Sub
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 23 gennaio 2025
    Bari
    86
    50
    83
    38
    78
    Cagliari
    11
    36
    52
    31
    74
    Firenze
    56
    59
    86
    27
    84
    Genova
    03
    61
    53
    11
    38
    Milano
    13
    14
    79
    87
    47
    Napoli
    21
    90
    48
    55
    37
    Palermo
    56
    46
    59
    02
    53
    Roma
    74
    13
    07
    38
    77
    Torino
    27
    54
    62
    36
    81
    Venezia
    09
    14
    69
    28
    62
    Nazionale
    32
    73
    27
    11
    51
    Estrazione Simbolotto
    Bari
    36
    27
    19
    08
    24

Ultimi Messaggi

Indietro
Alto