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

Premium Member
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

Premium Member
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

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
 

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

Premium Member
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

Premium Member
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

Premium Member
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

Premium Member
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
    giovedì 28 marzo 2024
    Bari
    49
    73
    67
    86
    19
    Cagliari
    64
    36
    37
    02
    04
    Firenze
    66
    27
    44
    90
    17
    Genova
    09
    44
    78
    85
    19
    Milano
    70
    14
    47
    38
    27
    Napoli
    80
    29
    28
    45
    39
    Palermo
    54
    59
    78
    47
    62
    Roma
    17
    22
    49
    52
    88
    Torino
    71
    35
    75
    74
    60
    Venezia
    40
    84
    02
    63
    29
    Nazionale
    08
    13
    44
    69
    85
    Estrazione Simbolotto
    Firenze
    06
    35
    16
    18
    05
Alto