Novità

richiesta script per ricerca numeri convergenti in lunghette

ppaaoolloo

Super Member >PLATINUM<
Salve
mi rivolgo per una richiesta di uno script che vorrei utilizzare
mettendo a confronto 2 o più lunghette, con numeri scelti da me,
per poter visualizza i numeri comuni presenti in esse.
Ringrazio anticipatamente
 

lotto_tom75

Advanced Premium Member
Salve
mi rivolgo per una richiesta di uno script che vorrei utilizzare
mettendo a confronto 2 o più lunghette, con numeri scelti da me,
per poter visualizza i numeri comuni presenti in esse.
Ringrazio anticipatamente

Dovrei averlo fatto dal buon claudio8 mi sembra se non te lo posta lui prima o qualcun altro guardo di farlo io. Ciao
 

lotto_tom75

Advanced Premium Member
Dovrei averlo fatto dal buon claudio8 mi sembra se non te lo posta lui prima o qualcun altro guardo di farlo io. Ciao

Dovrebbe essere quello che ti serve (in questo code c'è la possibilità di confrontare anche un terzo gruppo)

Codice:
Option Explicit
Sub Main
   Dim a1,a2,s,s2,s3,s4,s5,s6
   Dim a3
   'lunghetta A
   a1 = Array(0,1,2,4,5,6,7,9,10,11,13,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,60,61,62,64,65,66,69,70,72,73,74,75,76,77,78,80,81,82,85,86,87,89,90)
   'terzo gruppo
   a2 = Array(0,1,2,3,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,25,26,29,30,32,35,36,38,42,43,45,47,48,49,50,52,53,54,56,58,59,60,61,62,63,64,66,67,68,69,70,72,74,75,76,77,78,79,81,82,83,84,85,87,89,90)
   'lunghetta B
   a3 = Array(0,2,4,5,6,10,11,13,15,16,17,18,19,20,21,22,25,26,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,60,61,62,64,65,66,69,70,72,73,74,75,77,78,80,81,82,85,86,87,89,90)
   Call getMancante(a1,a2,s)
   Call Scrivi(" lunghetta A " & StringaNumeri(a1) & " quantità " & UBound(a1))
   'Call Scrivi(" terzo gruppo: " & StringaNumeri(a2) & " quantità " & UBound(a2))
   Call Scrivi(" Lunghetta B: " & StringaNumeri(a3) & " quantità " & UBound(a3))
   Scrivi
   Scrivi " Confronto... "
   Scrivi
   Dim v,v2
   Call SplitByChar(s," ",v)
   'Call Scrivi(" elementi divergenti tra lunghetta A e terzo gruppo: " & s & " quantità " & UBound(v))
   Call getComuni(a1,a2,s2)
   Call SplitByChar(s2," ",v2)
   'Call Scrivi(" elementi comuni tra lunghetta A e terzo gruppo : " & s2 & " quantità " & UBound(v2))
   Scrivi
   Scrivi "-------------------------------------------------------------------------------------------------------------------------"
   Scrivi
   Call Scrivi(" lunghetta A " & StringaNumeri(a1))
   Call Scrivi(" Lunghetta B: " & StringaNumeri(a3))
   Scrivi
   Scrivi " Confronto... "
   Scrivi
   Call getMancante(a1,a3,s3)
   Dim v3,v4
   Call SplitByChar(s3," ",v3)
   Call Scrivi(" elementi divergenti tra lunghetta A e lunghetta B: " & s3 & " quantità " & UBound(v3))
   Call getComuni(a1,a3,s4)
   Call SplitByChar(s4," ",v4)
   Call Scrivi(" elementi comuni lunghetta A e lunghetta B: " & s4 & " quantità " & UBound(v4))
   Scrivi
   Scrivi "-------------------------------------------------------------------------------------------------------------------------"
   Scrivi
   Scrivi
   Scrivi " Confronto... "
   Scrivi
   Call getMancante(a2,a3,s5)
   Dim v5,v6
   Call SplitByChar(s5," ",v5)
   Call getComuni(a2,a3,s6)
   Call SplitByChar(s6," ",v6)
End Sub
Sub getMancante(a1,a2,s)
   Dim n,n1,bret',s
   s = ""
   For n = 1 To UBound(a1)
      bret = True
      For n1 = 1 To UBound(a2)
         If a1(n) = a2(n1) Then bret = False
      Next
      If bret Then s = s & a1(n) & " "
   Next
End Sub
Sub getComuni(a1,a2,s2)
   Dim n,n1,bret',s
   s2 = ""
   For n = 1 To UBound(a1)
      bret = False
      For n1 = 1 To UBound(a2)
         If a1(n) = a2(n1) Then bret = True
      Next
      If bret Then s2 = s2 & a1(n) & " "
   Next
End Sub

Code by claudio8 o edoardo_95 o entrambi non ricordo... 👋🙂
 

ppaaoolloo

Super Member >PLATINUM<
ciao,
innanzi tutto ringrazio per aver preso in considerazione la mia richiesta,
ma lo script postato credo che sia errato e comunque non elabora quello da me chiesto.
 

i legend

Advanced Member >PLATINUM PLUS<
Ciao , per risolvere un problema bisogna conoscerlo.
Come inserisci le lunghette?
Quante sono?
Sono array oppure stringhe.
Le funzioni postate sopra sono esatte
E fatte ad hoc per un problema specifico. Prendere i numeri mancanti. In spaziometria non c è questa funzione.
Esistono funzioni native in spaziometria che prendono i numeri comuni.
Ciao :)
 

ppaaoolloo

Super Member >PLATINUM<
Buondì, le lunghette che vorrei utilizzare le ricavo da un altro script,
sono 2 o 3 lunghette di circa 20/25/30 numeri, l'inserimento lo farei manualmente
ma andrebbe bene qualsiasi altra soluzione suggerita dallo scripter.
Di queste 2 o 3 lunghette da confrontare vorrei che i numeri comuni tra di loro
venissero evidenziati oppure si crei un nuovo elenco.
esempio:

1° lunghetta: 3,8,9,11,14,16,18,22,23,24,25,31,33,39,41,46,75,79,81,85,86,87,88,90
2° lunghetta; 1,3,8,12,15,16,17,19,22,23,25,28,44,55,60,63,66,77,79,81,82,83,84,88
3° lunghetta; 4,5,8,11,17,19,22,23,24,33,39,40,46,55,60,63,66,77,79,81,88

numeri comuni tra la 1° e 2° lunghetta: 3,8,16,22,23,25,79,81,88
numeri comuni tra la 1° e 3° lunghetta: 8,11,22,23,24,33,46,79,81,88
numeri comuni tra la 2° e 3° lunghetta: 8,22,23,55,60,63,66,77,79,81,88
numeri comuni tra la 1° e 2° e 3° lunghetta: 8,22,23,79,81,88
 

i legend

Advanced Member >PLATINUM PLUS<
Ciao lo script che ti ha postato tom fa quanto richiesto l unica cosa che non fa è evidenziare i numeri ripetuti.
Anziché utilizzare una stringa si deve utilizzare un array che raccoglie i numeri in comune.
Passaggio successivo
Si cicla l array di base e se un numero è uguale a quello rilevato si evidenzia.
Basta fare questo passaggio.
Se non si vuole cambiare la funzione basta splittare la stringa.
Ciao :)
 

ppaaoolloo

Super Member >PLATINUM<
ciao, io ho provato lo script postato ma non riesco ad utilizzarlo,
non mi fa inserire nessuna lunghetta e nessun numero, quando
clicco "il fulmine" elabora senza che io riesca ad inserire nessun numero.
forse è un problema che ho solo io con il mio pc?
con gli altri script non ho problemi, sto usando la versione 1.6.34
 

i legend

Advanced Member >PLATINUM PLUS<
'lunghetta A
a1 = Array(0,1,2,4,5,6,7,9,10,11,13,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,60,61,62,64,65,66,69,70,72,73,74,75,76,77,78,80,81,82,85,86,87,89,90)
'terzo gruppo
a2 = Array(0,1,2,3,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,25,26,29,30,32,35,36,38,42,43,45,47,48,49,50,52,53,54,56,58,59,60,61,62,63,64,66,67,68,69,70,72,74,75,76,77,78,79,81,82,83,84,85,87,89,90)
'lunghetta B
a3 = Array(0,2,4,5,6,10,11,13,15,16,17)
Hai inserito le tue lunghette negli array?
Il primo elemento deve essere lo zero poi la tua lunghetta e puoi utilizzare solo la virgola.
Per essere più veloce e più pratico non ci sono elementi da inputbox
 

lotto_tom75

Advanced Premium Member
'lunghetta A
a1 = Array(0,1,2,4,5,6,7,9,10,11,13,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,60,61,62,64,65,66,69,70,72,73,74,75,76,77,78,80,81,82,85,86,87,89,90)
'terzo gruppo
a2 = Array(0,1,2,3,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,25,26,29,30,32,35,36,38,42,43,45,47,48,49,50,52,53,54,56,58,59,60,61,62,63,64,66,67,68,69,70,72,74,75,76,77,78,79,81,82,83,84,85,87,89,90)
'lunghetta B
a3 = Array(0,2,4,5,6,10,11,13,15,16,17)
Hai inserito le tue lunghette negli array?
Il primo elemento deve essere lo zero poi la tua lunghetta e puoi utilizzare solo la virgola.
Per essere più veloce e più pratico non ci sono elementi da inputbox

E' esattamente come dice ilegend. Ad ogni modo si può implementare con tre rispettive tabelle di iputbox se preferisci...

Basta mettere al posto di a1, a2, a3... rispettivamente...

Codice:
scegliNumeri(a1)

sceglinumeri(a2)

sceglinumeri(a3)
 

i legend

Advanced Member >PLATINUM PLUS<
ciao qui posto lo script con le funzioni di spaziometria e hai i confronti di seguito senza dover inserire ogni volta il confronto
, dato che sto poco bene controlla che i risultati siano esatti.
Codice:
Option Explicit
Sub Main
    ' N.B= verificare che lo script restituisca Valori corretti, non se ne garantisce la mancanza di errori
    ' scrivere le lunghette che si vogliono esaminare nelle virgolette
    ' le lunghette devono essere separate dalla virgola
    ' se si vogliono aggiungere altre lunghette cambiare l indice in aLung
    ' 3 lunghette aLung(3), 10 Lunghette=aLung(10) ecc...
    Dim aLung(4)
    aLung(1) = "3,8,9,11,14,16,18,22,23,24,25,31,33,39,41,46,75,79,81,85,86,87,88,90"
    aLung(2) = "1,3,8,12,15,16,17,19,22,23,25,28,44,55,60,63,66,77,79,81,82,83,84,88"
    aLung(3) = " 4,5,8,11,17,19,22,23,24,33,39,40,46,55,60,63,66,77,79,81,88"
    aLung(4) = "2,8,22,23"
    Dim i,j,s,s1,aV
    ReDim aN(0),aQ(0)
    For i = 1 To UBound(aLung) - 1
        For j = i + 1 To UBound(aLung)
            Scrivi i & ")  " & aLung(i),,0,,RGB(0,128,64)
            Scrivi "  |  " & j & ")  " & aLung(j),,,,vbBlue
            aV = Split("0," & aLung(i) & "," & aLung(j),",")
            Call NumeriRipetutiRilevatiV(aV,aN,aQ)
            Scrivi i & "-" & j & "   = " & StringaNumeri(aN)
        Next
    Next
    s=""
    s1=""
    For i = 1 To UBound(aLung)
    s1=s1&i&"-"
        s = s & aLung(i) & ","
    Next
    aV = Split("0," & s,",")
    Scrivi RimuoviLastChr(s1,"-")&" ) "&s
    Call NumeriRipetutiRilevatiV(aV,aN,aQ)
    Scrivi StringaNumeri(aN)
End Sub
ciao
 

ppaaoolloo

Super Member >PLATINUM<
ciao,
innanzi tutto grazie,
faccio un po' fatica a distinguere i vari risultati
e sopratutto è il risultato dei numeri comuni
tra la 1° e 2° e 3° e 4° lunghetta che non riesco a vedere
 

i legend

Advanced Member >PLATINUM PLUS<
Ciao paolo in verde e blu sono scritte le tue lunghette da confrontare
Subito sotto c è scritta la formazione esaminata 1.2 ) 1.3) eccc e i numeri in comune tra le due lunghette
Infine sotto ci sono tutte le lunghette assieme e i numeri presenti in tutte.
Spero che con questa spiegazione sia ancora più chiaro
Controlla che sia esatto, come ho detto non garantisco che sia tutto esatto, visto che non sono al massimo della forma
:)
Ciao
 

ppaaoolloo

Super Member >PLATINUM<
ciao, grazie della spiegazione,
adesso mi è tutto più chiaro,

ti segnalo allora che
il risultato dei numeri comuni
tra la 1° e 2° e 3° e 4° lunghetta
cioè i numeri presenti in tutte non sono esatti.

1°) 3,5,8,9,10,16,17,22,25,26,27,30,31,32,41,44,74,79,84,85
2°) 1,4,8,13,14,16,18,19,22,24,28,29,44,54,60,64,68,77,,80,82,
3°) 4,5,6,7,8,18,22,23,28,33,38,44,46,54,60,64,65,66,67,80,88
4°) 12,13,14,15,16,18,22,23,24,33,35,38,39,44,45,47,51,52,58,59,

1° e 2° e 3° e 4°) 4.5.8.13.14.16.18.22.23.24.28.33.38.44.54.60.64.80

il numero 4 non è presente nella 1° e 4° lunghetta
il numero 5 non è presente nella 2° e 4° lunghetta
il numero 8 non è presente nella 4° lunghetta
il numero 13 non è presente nella 1° e 3° lunghetta
ecc. ecc.

Ciao
 

i legend

Advanced Member >PLATINUM PLUS<
Paolo quelli sono i numeri ripetuti nella lunghetta totale(assemblata) . Non sono presi lunghetta per lunghetta.
Avevi chiesto il confronto tra due lunghette, quel 1.2.3.4 è stato un di più, fatto da me casomai tornasse utile . Cmq non è difficile da fare ., anzi. Appena ho un attimo ti inserisco anche questa condizione.
Ciao.
 

i legend

Advanced Member >PLATINUM PLUS<
Ciao Allora ti riposto lo stesso script
ho incolonnato le stringhe diversamente, magari cosi ti sono piu chiare
lo script è identico a quello precedente ovviamente, ma l ultima riga ora ti evidenzia solo i numeri che sono presenti in tutte le lunghette
Codice:
Option Explicit
Sub Main
    ' N.B= verificare che lo script restituisca Valori corretti, non se ne garantisce la mancanza di errori
    ' scrivere le lunghette che si vogliono esaminare nelle virgolette
    ' le lunghette devono essere separate dalla virgola
    ' se si vogliono aggiungere altre lunghette cambiare l indice in aLung
    ' 3 lunghette aLung(3), 10 Lunghette=aLung(10) ecc...
    Dim aLung(4)
    aLung(1) = "3,8,9,11,14,16,18,22,23,24,25,31,33,39,41,46,75,79,81,85,86,87,88,90"
    aLung(2) = "1,3,8,12,15,16,17,19,22,23,25,28,44,55,60,63,66,77,79,81,82,83,84,88"
    aLung(3) = "4,5,8,11,17,19,22,23,24,33,39,40,46,55,60,63,66,77,79,81,88"
    aLung(4) = "2,8,22,23"
    Dim i,j,s,s1,aV
    ReDim aN(0),aQ(0)
    For i = 1 To UBound(aLung) - 1
        For j = i + 1 To UBound(aLung)
            Scrivi i & ")  " & aLung(i),,,,RGB(0,128,64)
            Scrivi j & ")  " & aLung(j),,,,vbBlue
            aV = Split("0," & aLung(i) & "," & aLung(j),",")
            Call NumeriRipetutiRilevatiV(aV,aN,aQ)
            Scrivi
            Scrivi "Conv:     " & StringaNumeri(aN)
            Scrivi String(100,"-")
        Next
    Next
    s = ""
    For i = 1 To UBound(aLung)
        s = s & aLung(i) & ","
        Scrivi i & " )" & aLung(i)
    Next
    aV = Split("0," & s,",")
    Call NumeriRipetutiRilevatiV(aV,aN,aQ)
    Scrivi
    Scrivi "Conv:    ",,0
    For i = 1 To UBound(aN)
        If aQ(i) = UBound(aLung) Then Scrivi Format2(aN(i)) & " ",,0
    Next
End Sub
controlla per favore, se ho capito bene cosa hai chiesto, e se fa quindi quanto hai chiesto.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 18 gennaio 2022
    Bari
    76
    16
    68
    50
    18
    Cagliari
    10
    04
    90
    62
    11
    Firenze
    65
    57
    74
    77
    24
    Genova
    10
    82
    55
    43
    15
    Milano
    57
    78
    54
    81
    89
    Napoli
    54
    16
    19
    87
    58
    Palermo
    36
    48
    12
    24
    66
    Roma
    24
    23
    50
    02
    30
    Torino
    28
    43
    84
    76
    46
    Venezia
    37
    74
    29
    23
    34
    Nazionale
    63
    60
    39
    59
    35
    Estrazione Simbolotto
    Bari
    06
    39
    25
    09
    41
Alto