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
    martedì 26 marzo 2024
    Bari
    30
    51
    17
    01
    53
    Cagliari
    13
    70
    25
    68
    47
    Firenze
    28
    30
    54
    70
    88
    Genova
    67
    87
    22
    03
    62
    Milano
    22
    34
    13
    47
    24
    Napoli
    20
    72
    59
    01
    52
    Palermo
    05
    72
    65
    52
    32
    Roma
    28
    43
    75
    54
    87
    Torino
    16
    08
    17
    24
    38
    Venezia
    67
    28
    55
    60
    29
    Nazionale
    15
    69
    22
    63
    39
    Estrazione Simbolotto
    Firenze
    44
    09
    31
    22
    16

Ultimi Messaggi

Alto