Novità

Condizione Unica

Xeroxs

Advanced Member >PLATINUM<
Buongiorno a Tutti,
Visto che ho a disposizione il PC per qualche ora volevo chiedere un vostro intervento per capire dove posso intervenire per utilizzare nella mia ricerca su Questo listato che una mia amica mi ha passato per poterlo sistemare, l'unica condizione presente nel quadro estrazionale come da esempio della somma 90 tra 2 estratti.

A questo listato ho utilizzato quanto Joe mi aveva fatto su un mio listato, ma purtroppo non riesco a farlo, o perlomeno mi calcola una sola somma 90 anche se presente due volte su due ruote come ad esempio

nell'ultima estrazione abbiamo due somme 90 sia su Cagliari che Napoli, per cui questa non va considerata
mentre il 13 ne abbiamo 1 sola su Napoli per cui il listato deve considerarlo come caso unico e presente ne quadro estrazionale.

Per Cui inserendo quanto mi aveva fatto Joe in questo listato pensavo di ottenere quanto voluto, ma così non avviene

Potete aiutarmi a capire dove intervenire, magari basta spostare una riga del codice che Io ho chiamato Kunico come potete vedere nel listato,
ho provato ma nulla.

Questo è quanto ho fatto ( Il Listato non è Mio ho solo inserito quanto volevo, inserendo correttamente le variabili e metterle nella Dim.
Poi lo correggo nei dati voluti dalla mia amica ma se non riesco a risolvere il mio dilemma è inutile andare avanti

Codice:
Option Explicit
Sub Main()
   Dim r,ruota(10)
   Dim Num(5),poste(3)
   Dim Somma,p1,p2,n1,n2,a1,a2,a3,a4,a5
   Dim Ini,Fin,es,Clp,co
   Dim Kunico ' Condizione Unica
   poste(2) = 1 : poste(3) = 1
   Ini = CInt(InputBox("Estrazione iniziale ?",,9850))
   Somma = CInt(InputBox("Ambo somma da ricercare ?",,90))
   Clp = InputBox("Colpi di verifica ?",,9)
   Fin = EstrazioneFin
   For es = Ini To Fin
      Kunico = 0
      AvanzamentoElab EstrazioneIni,EstrazioneFin,es
      For r = 1 To 10
         For p1 = 1 To 4
            For p2 = p1 + 1 To 5
               n1 = Estratto(es,r,p1) : n2 = Estratto(es,r,p2)
               If Fuori90(n1 + n2) = Somma Then
                  Kunico = Kunico + 1
                  a1 = Estratto(es,r,1) : a2 = Estratto(es,r,2) : a3 = Estratto(es,r,3) : a4 = Estratto(es,r,4) : a5 = Estratto(es,r,5)
                  ruota(1) = r
                  co = co + 1
                  Scrivi String(96,"=") & " Caso n°" & Format2(co),1
                  Scrivi DataEstrazione(es) & " " & SiglaRuota(r) & " " & StringaEstratti(es,r) & " ---> Somma " & Somma & " [" & n1 & "-" & n2 & "]"
                  Num(1) = Somma
                  Num(2) = Diametrale(a1)
                  Num(3) = a3
                  ImpostaGiocata 1,Num,ruota,poste,Clp,2
                  If Kunico = 1 Then ' Quì Impongo la ricerca di una sola Condizione nel quadro estrazionale
                     Gioca es
                  End If ' Chiude Kunico
               End If
            Next
         Next
      Next
   Next ' Chiude es
   ScriviResoconto
End Sub


Grazie come sempre sperando in un vostro intervento
 
Buongiorno a Tutti,
Visto che ho a disposizione il PC per qualche ora volevo chiedere un vostro intervento per capire dove posso intervenire per utilizzare nella mia ricerca su Questo listato che una mia amica mi ha passato per poterlo sistemare, l'unica condizione presente nel quadro estrazionale come da esempio della somma 90 tra 2 estratti.

A questo listato ho utilizzato quanto Joe mi aveva fatto su un mio listato, ma purtroppo non riesco a farlo, o perlomeno mi calcola una sola somma 90 anche se presente due volte su due ruote come ad esempio

nell'ultima estrazione abbiamo due somme 90 sia su Cagliari che Napoli, per cui questa non va considerata
mentre il 13 ne abbiamo 1 sola su Napoli per cui il listato deve considerarlo come caso unico e presente ne quadro estrazionale.

Per Cui inserendo quanto mi aveva fatto Joe in questo listato pensavo di ottenere quanto voluto, ma così non avviene

Potete aiutarmi a capire dove intervenire, magari basta spostare una riga del codice che Io ho chiamato Kunico come potete vedere nel listato,
ho provato ma nulla.

Questo è quanto ho fatto ( Il Listato non è Mio ho solo inserito quanto volevo, inserendo correttamente le variabili e metterle nella Dim.
Poi lo correggo nei dati voluti dalla mia amica ma se non riesco a risolvere il mio dilemma è inutile andare avanti

Codice:
Option Explicit
Sub Main()
   Dim r,ruota(10)
   Dim Num(5),poste(3)
   Dim Somma,p1,p2,n1,n2,a1,a2,a3,a4,a5
   Dim Ini,Fin,es,Clp,co
   Dim Kunico ' Condizione Unica
   poste(2) = 1 : poste(3) = 1
   Ini = CInt(InputBox("Estrazione iniziale ?",,9850))
   Somma = CInt(InputBox("Ambo somma da ricercare ?",,90))
   Clp = InputBox("Colpi di verifica ?",,9)
   Fin = EstrazioneFin
   For es = Ini To Fin
      Kunico = 0
      AvanzamentoElab EstrazioneIni,EstrazioneFin,es
      For r = 1 To 10
         For p1 = 1 To 4
            For p2 = p1 + 1 To 5
               n1 = Estratto(es,r,p1) : n2 = Estratto(es,r,p2)
               If Fuori90(n1 + n2) = Somma Then
                  Kunico = Kunico + 1
                  a1 = Estratto(es,r,1) : a2 = Estratto(es,r,2) : a3 = Estratto(es,r,3) : a4 = Estratto(es,r,4) : a5 = Estratto(es,r,5)
                  ruota(1) = r
                  co = co + 1
                  Scrivi String(96,"=") & " Caso n°" & Format2(co),1
                  Scrivi DataEstrazione(es) & " " & SiglaRuota(r) & " " & StringaEstratti(es,r) & " ---> Somma " & Somma & " [" & n1 & "-" & n2 & "]"
                  Num(1) = Somma
                  Num(2) = Diametrale(a1)
                  Num(3) = a3
                  ImpostaGiocata 1,Num,ruota,poste,Clp,2
                  If Kunico = 1 Then ' Quì Impongo la ricerca di una sola Condizione nel quadro estrazionale
                     Gioca es
                  End If ' Chiude Kunico
               End If
            Next
         Next
      Next
   Next ' Chiude es
   ScriviResoconto
End Sub


Grazie come sempre sperando in un vostro intervento

Ciao xeroxs,

Forse puoi risolvere aggiungendo semplicemente un contatore ai casi di somma 90 rilevati ed escludendo con un if then i casi dove il contatore è maggiore di 1 così:

Codice:
Option Explicit
Sub Main()
   Dim r,ruota(10)
   Dim Num(5),poste(3)
   Dim Somma,p1,p2,n1,n2,a1,a2,a3,a4,a5
   Dim Ini,Fin,es,Clp,co
   Dim Kunico ' Condizione Unica
   Dim contaunici
   contaunici = 0
   poste(2) = 1 : poste(3) = 1
   Ini = CInt(InputBox("Estrazione iniziale ?",,9000))
   Somma = CInt(InputBox("Ambo somma da ricercare ?",,90))
   Clp = InputBox("Colpi di verifica ?",,9)
   Fin = EstrazioneFin
   For es = Ini To Fin
      Kunico = 0
      AvanzamentoElab EstrazioneIni,EstrazioneFin,es
      For r = 1 To 10
         For p1 = 1 To 4
            For p2 = p1 + 1 To 5
               n1 = Estratto(es,r,p1) : n2 = Estratto(es,r,p2)
               If Fuori90(n1 + n2) = Somma Then
                  contaunici = contaunici + 1
                  Kunico = Kunico + 1
                  a1 = Estratto(es,r,1) : a2 = Estratto(es,r,2) : a3 = Estratto(es,r,3) : a4 = Estratto(es,r,4) : a5 = Estratto(es,r,5)
                  ruota(1) = r
                  co = co + 1
                  Scrivi String(96,"=") & " Caso n°" & Format2(co),1
                  Scrivi DataEstrazione(es) & " " & SiglaRuota(r) & " " & StringaEstratti(es,r) & " ---> Somma " & Somma & " [" & n1 & "-" & n2 & "]"
                  Num(1) = Somma
                  Num(2) = Diametrale(a1)
                  Num(3) = a3
                  If contaunici = 1 Then
                     ImpostaGiocata 1,Num,ruota,poste,Clp,2
                     'If Kunico = 1 Then ' Quì Impongo la ricerca di una sola Condizione nel quadro estrazionale
                     Gioca es
                     'End If ' Chiude Kunico
                  Else
                     Call Scrivi("<font color=red>somma 90 rilevata ma non una volta sola... quindi salto questa estrazione...</font>")
                  End If
               End If
               If ScriptInterrotto Then Exit For
            Next
            If ScriptInterrotto Then Exit For
         Next
         If ScriptInterrotto Then Exit For
      Next
      'riazzero ilcontatore unici per la successiva estrazione
      contaunici = 0
      If ScriptInterrotto Then Exit For
   Next
End Sub

👋:)
 
Ciao, lotto_tom75

Grazie per il Tuo Intervento ma ancora non va bene in quanto l'ultimo esito non deve esaminarlo in quanto abbiamo due condizioni nella stessa estrazione e non una sola.

Sto Cercando di modificare i vari cicli for perchè credo che l'errore sia li...

Grazie Comunque.
 
ciao Xerox ho fatto lo script al volo quindi non so se funzia
ho cercato di commentare le righe , anche se mi sembra molto leggibile
da script puoi impostare quanti casi cercare , la somma che vuoi rintracciare e con la variabile condUnica puoi impostare quante somme devono essere presenti nell estrazione, se ne vuoi piu di una , la somma puo essere prente anche piu volte sulla stessa ruota .
per escludere questa possibilita bisognerebbe inserire un altro filtro
se non funzia dimmi , che appena ho un attimo mi metto con calma
ciao
controllare eventuali bugs sempre possibili
Codice:
Option Explicit
' controllare che lo script restituisca i dati corretti ,eventuali bbugs possono essere sempre possibili
' questa è solo una delle moltissime soluzioni che si possono realizzare
' la prima che mi è venuta in mente , si potrebbe sicuramente costruire un algoritmo ottimizzato
Sub Main
   Dim SomSpia:SomSpia = 90
   Dim Sum,idEstr,R,p1,p2,E1,E2
   Dim nCasi,nTro,nCasiTro,i
   Dim nCondUnica
   Dim aElem
   nCondUnica = 1
   nCasi = 20 ' imposto casi massimi da rintracciare
   nCasiTro = 0
   ' ciclo le estrazioni a ritroso dall ultima alla prima
   For idEstr = EstrazioneFin To 1 Step - 1
      ' azzero la variabile dei casi trovati
      nTro = 0
      ' dichiaro l array contenitore che verra azzerato ad ogni estrazione
      ReDim aTro(0)
      ' ciclo le 10 ruote
      For R = 1 To 10
         ' ciclo gli estratti che vanno dalla prima alla quarta pos
         For p1 = 1 To 4
            E1 = Estratto(idEstr,R,p1)
            ' ' ciclo gli estratti che vanno dalla 2 alla 5 pos
            For p2 = p1 + 1 To 5
               E2 = Estratto(idEstr,R,p2)
               ' faccio la somma dei due estratti
               Sum = Fuori90(E1 + E2)
               ' se la somma rintracciata è quella voluta allora
               If Sum = SomSpia Then
                  ' Incremento i casi
                  nTro = nTro + 1
                  ' raccolco tutto nell array dinamico , utilizzo il ";" come carattere separatore
                  ReDim Preserve aTro(nTro)
                  aTro(nTro) = Sum & ";" & R & ";" & p1 & ";" & p2 & ";" & E1 & ";" & E2
               End If
            Next ' p2
         Next ' p1
      Next ' R
      ' se i casi trovati ripsecchiano la condizione allora ciclo l array e scrivo i casi rintracciati
      If UBound(aTro) = nCondUnica Then
         nCasiTro = nCasiTro + 1
         ' se i casi trovati superano i casi richiesti esco dal ciclo ed interrompo la ricerca
         If nCasiTro > nCasi Then Exit For
         ' ciclo il contenitore
         For i = 1 To UBound(aTro)
            ' splitto ogni riga dell array per  formattare uil testo ed utilizzarne le celle o colonne
            aElem = Split(aTro(i),";")
            Scrivi FormattaStringa(nCasiTro,"000") & " ] " & idEstr & "  " & aElem(2) & SiglaRuota(aElem(1)) & "(" & aElem(4) & ")+" & aElem(3) & SiglaRuota(aElem(1)) & "(" & aElem(5) & ")=" & aElem(0)
         Next ' i
      End If
      Call AvanzamentoElab(EstrazioneFin,1,idEstr)
   Next ' idestr
End Sub
 
Ciao, I-Legend, Grazie

Infatti Mi sono accorto che avevo sbagliato un ciclo For, ho riscritto un'altro listato ed ora è funzionante come deve essere
Grazie per lo script e le vari e Note, lo terrò nei miei archivi "lesson"

Posto quanto fatto per farvi capire che ogni Vostro Aiuto mi permette di crescere, non quanto Voi, ma se penso che qualche mese fa non sapevo nemmeno leggerli...
Grazie

Riscritto da capo.

Codice:
Option Explicit
Sub Main()
   Dim r1,r2,ruote(10)
   Dim poste(5)
   Dim Num(10)
   Dim Somma,p1,p2,n1,n2
   Dim es,QE,Clp
   Dim Kunico
   Somma = CInt(InputBox("Ambo somma da ricercare ?",,90))
   QE = CLng(InputBox("Quante estrazioni vuoi analizzare?",,20))
   Clp = CLng(InputBox("Quanti colpi vuoi giocare?",,9))
   For es = EstrazioneFin - QE To EstrazioneFin
      Kunico = 0
      For r1 = 1 To 10
         For p1 = 1 To 4
            For p2 = p1 + 1 To 5
               n1 = Estratto(es,r1,p1)
               n2 = Estratto(es,r1,p2)
               If(n1 + n2) = Somma Then
                  Kunico = Kunico + 1
                  ruote(1) = r1
                  'ruote(2) = r2
                  Num(1) = Somma
                  Num(2) = Vert(Num(1))
               End If
            Next
         Next
      Next
      If Kunico = 1 Then
         poste(1) = 1
         ImpostaGiocata 1,Num,ruote,poste,Clp,1
         Gioca es
      End If
   Next
   ScriviResoconto
End Sub
 
Ciao ;)
ottimo , capire dove si sbaglia è il primo passo per imparare bene
ma se tu volessi due casi , e giocare l ambata sulle due ruote trovate?
cerca di avere una base sempre il piu flessibile
ciao :)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 11 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20
Indietro
Alto