Sviluppare funzionalita su Microsoft Office con VBA Ridurre un sistema integrale del Lotto

Login Registrati
Stai vedendo 25 articoli - dal 1 a 25 (di 50 totali)
  • Autore
    Articoli
  • #39107 Score: 0 | Risposta

    Oscar
    Partecipante
      45 pts

      Buongiorno a tutti

      Vorrei ridurre un sistema del lotto , tipo N1 garanzia 4 Punti  , N2 garanzia 3Punti  c'è qualcuno che sa come si fa?

      ho fatto diverse macro  il sistema viene ridotto , ma perdo la garanzia che vorrei ottenere 

      Grazie a tutti

      #39111 Score: 0 | Risposta

      Oscar
      Partecipante
        45 pts

        Si vedono poche risposte su questo forum (secondo mè dovrebbe trattare giochi e lotterie gran parte degli utenti sono presi dal gioco del lotto e si affidono molto ai forum  , ma se non li tratti fine

         

        #39117 Score: 0 | Risposta

        vecchio frac
        Senior Moderator
          272 pts

          Oscar ha scritto:

          c'è qualcuno che sa come si fa?

          Probabilmente vedi poche risposte a questa domanda, perchè non ci sono molte persone che se ne occupano.

          Oscar ha scritto:

          secondo mè dovrebbe trattare giochi e lotterie

          Ah sì? non è un forum a scopo di profitto o lucro.

          Oscar ha scritto:

          Vorrei ridurre un sistema del lotto

          Forse devi cominciare a spiegarti meno tecnicamente e descrivere meglio l'esigenza.

           

          #39123 Score: 0 | Risposta

          Oscar
          Partecipante
            45 pts

            Grazie vecchio frac  per la risposta sei sempre molto gentile 

            Spiegare le mie esigenze , non è un problema ,  ma secondo mè serve qualcuno che conosca la teoria di riduzione altrimenti non credo che ci si arrivi a capo 

            praticamente da un sistema integrale viene ridotto di un punto abbattendo  circa il 90% delle colonne del sistema integrale

            se lo vuoi vedere posso caricarti un sistema , il mio ridotto (che non ha garanzia) e il ridotto che si dovrebbe ottenere 

            il tipo di ridotto che sto parlando è un ridotto semplice (non assoluto) questa è un'altra cosa 

            #39126 Score: 0 | Risposta

            vecchio frac
            Senior Moderator
              272 pts

              Io purtroppo non capisco quando parli di "ridurre", forse è meglio avere un esempio concreto.

              Se ci sono formule matematiche da applicare, anche ricorsivamente, non dovrebbe essere difficile.

              #39127 Score: 0 | Risposta

              Oscar
              Partecipante
                45 pts

                vecchio frac ha scritto:

                Io purtroppo non capisco quando parli di "ridurre", forse è meglio avere un esempio concreto.

                Se ci sono formule matematiche da applicare, anche ricorsivamente, non dovrebbe essere difficile.

                Per chi conosce la teoria è sicuramente facile diversamente è molto difficile ti metto un esempio , ma non voglio farti perdere tempo

                 

                Eccolo 

                IL sistema è di 11 numeri  parte da 1 a 11 è per farti capire , ma i numeri sono sempre diversi dipende sempre dal pronostico possono essere anche di più , ma il ridotto deve sempre avere la garanzia  del 4 se è ridotto di un punto

                #39129 Score: 0 | Risposta

                Marius44
                Moderatore
                  58 pts

                  Ciao

                  Per comprendere meglio allego un'immagine in cui c'è lo sviluppo di un pronostico Totocalcio di 3 doppie

                  Lo sviluppo integrale sarebbe di 8 colonne mentre quello ridotto che, comunque, dia una sicurezza di almeno 2 punti è su 4 colonne (costo dimezzato). Ma si può ridurre ancora a 2 colonne (costo 1/4)

                  Spero sia utile. Ciao,

                  Mario

                  #39130 Score: 0 | Risposta

                  Oscar
                  Partecipante
                    45 pts

                    Si è così , ma se non si conosce la teoria della riduzione , è difficile costruire una macro che estrapoli quelle colonne

                    #39166 Score: 0 | Risposta

                    Marius44
                    Moderatore
                      58 pts

                      Ciao

                      Noto che non c'è alcun suggerimento   .  Vedo di rimediare in qualche modo.

                      Allego un mio vecchio lavoro per il Totocalcio (non analizzato a fondo nè mai tentato di giocare) che sviluppa un sistema di 7 doppie. Lo sviluppo integrale è composto da 128 colonne (in alto c'è la formula utilizzata per il calcolo) mentre lo sviluppo ridotto e condizionato dal numero massimo di errori e/o dal numero massimo di ripetizione dei segni in ogni colonna.

                      Non riporto qui il codice (molto commentato ed abbastanza comprensibile) perchè troppo specifico. Vedi se può esserti utile adattandolo alle tue esigenze.

                      Fai sapere. Ciao,

                      Mario

                      Allegati:
                      You must be logged in to view attached files.
                      #39174 Score: 0 | Risposta

                      Oscar
                      Partecipante
                        45 pts

                        Ciao Marius

                        L'ho testato va benissimo , impostato a Max 2 errori  ti da la garanzia di una vincita di seconda categoria , ma purtroppo al vecchio totocalcio non si gioca più

                        Nel nuovo Totocalcio  il ridotto non serve più  perchè non ci sono vincite di seconda categoria

                        IL nuovo lo hai fatto?

                         

                        #39176 Score: 0 | Risposta

                        Marius44
                        Moderatore
                          58 pts

                          Ciao Oscar

                          No, non ho proseguito negli "studi" perchè non sono un "giocatore" (ed anche perchè temo la LUDOPATIA)

                          Prova ad adattare lo schema alle tue esigenze.

                          Ciao,

                          Mario

                          #39184 Score: 0 | Risposta

                          Oscar
                          Partecipante
                            45 pts

                            Io invece sono appassionato ma non sono preso e gioco molto meno di quello che rientra nelle mie possibilità qualche euro non di più

                            #39186 Score: 0 | Risposta

                            Marius44
                            Moderatore
                              58 pts

                              Ciao

                              Non vedo più il file che avevi allegato.

                              Ti dispiace riallegarlo (spiegandomi bene cosa vorresti ottenere e tenendo presente che di Lotto non capisco nulla)

                              Non prometto nulla ma cercherò di dedicarci un po' di tempo. Ciao,

                              Mario

                               

                              PS - Girovagando in rete ho trovato questo indirizzo http://www.pc-facile.com/forum/viewtopic.php?f=26&t=111883

                              Vedi se fa al caso tuo

                              #39196 Score: 0 | Risposta

                              Oscar
                              Partecipante
                                45 pts

                                Si certo lo riallego 

                                nel foglio trovi il sistema integrale a destra il ridotto che ho fatto io  a sinistra  e in centro il ridotto che si dovrebbe ottenere

                                ho controllato  l'indirizzo che hai postato non quello che mi serve , quello che mi serve è esattamente come il File che hai postato tu

                                Nel mio ridotto vanno bene solo le prime 4 colonne

                                #39283 Score: 0 | Risposta

                                albatros54
                                Moderatore
                                  89 pts

                                  Allora , ho seguito questa discussione e ho rispolverato alcune nozioni per lo sviluppo. Tempo fa ho collaborato con una ricevitori Totocalcio per lo sviluppo dei sistemi usando un Software professionale che costava un botto, il problema piu grande è trovare l'algoritmo della riduzione cosa assai difficile, perchè entriamo in un campo della Matematica che sviluppa la riduzione di un sistema applicando dei teoremi un poco astrusi da decifrare(per me), comunque, secondo me se si trova la matrice dei vari sistemi che si voglio sviluppare, cosa che faceva il software, è molto semplice adattare la matrice ai numeri che metti in gioco,.Girovagando in internet ho trovato una matrice per il lotto, che mette in gioco 19 numeri a garanzia dell'ambo, da fare una precisazione, nel caso di un ridotto a garanzia dell'ambo(cioe se escono 5 numeri che ho messo in gioco)non e detto che troverai una cinquina, la puoi trovare, pero lo sviluppo è a garanzia dell'ambo.Ho adattata questa matrice ad un sistema, e ho fatto lo sviluppo in un file excel con VBA. posto il file piu il codice. Naturalmente ho trovato un poco di difficolta nelle varie matrici, perche volevo inserire in una unica matrice tutte le 8 matrici(come si puo fare in altri linguaggi), ma non sono stato capace, il codice puo essere ottimizzato.
                                  Funzionamento del file: inserire i numeri che vuoi mettere in gioco nella colonna A
                                  Importante: in numeri debbono essere messi in colonna in ordine cronologico, nel senso dal piu piccolo al piu grande.
                                  Una volta inserito i numeri , basta pressare il pulsante è verrano inserite le 8 cinquine.

                                  Option Explicit
                                  Private Sub ReadDataArray()
                                  
                                      Dim arr As Variant, m1 As Variant, m2 As Variant, m3 As Variant
                                      Dim m4 As Variant, m5 As Variant, m6 As Variant, m7 As Variant
                                      Dim m8 As Variant, b As Variant
                                      Dim a As Integer, f As Integer, r As Integer
                                      Foglio1.Range("c1").CurrentRegion.Clear
                                      m1 = Array(1, 2, 3, 4, 5)
                                      m2 = Array(1, 7, 12, 18, 19)
                                      m3 = Array(2, 9, 14, 17, 19)
                                      m4 = Array(6, 7, 8, 9, 10)
                                      m5 = Array(1, 6, 11, 16, 17)
                                      m6 = Array(2, 8, 13, 16, 18)
                                      m7 = Array(3, 10, 15, 16, 19)
                                      m8 = Array(11, 12, 13, 14, 15)
                                      arr = Foglio1.Range("a1").CurrentRegion.Value
                                  
                                      a = 0
                                      f = 3
                                      r = 1
                                      While a < 5
                                          b = m1(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 2
                                      While a < 5
                                          b = m2(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 3
                                      While a < 5
                                          b = m3(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 4
                                      While a < 5
                                          b = m4(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 5
                                      While a < 5
                                          b = m5(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 6
                                      While a < 5
                                          b = m6(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 7
                                      While a < 5
                                          b = m7(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                      a = 0
                                      f = 3
                                      r = 8
                                      While a < 5
                                          b = m8(a)
                                          Cells(r, f) = arr(b, 1)
                                          f = f + 1
                                          a = a + 1
                                      Wend
                                  End Sub

                                   

                                   

                                  Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                                  Sempre il mare, uomo libero, amerai!
                                  ( Charles Baudelaire )
                                  Allegati:
                                  You must be logged in to view attached files.
                                  #39286 Score: 0 | Risposta

                                  Oscar
                                  Partecipante
                                    45 pts

                                    Ciao Albatros 

                                    Si hai la garanzia Ambo con 5 numeri indovinati ,ma hai usato una matrice , il problema è ridurre un sistema condizionato  dove non è possibile usare nessuna matrice 

                                    del resto convertire una matrice in sistema è semplicissimo

                                    La matrice sotto è un ridotto assoluto garanzia Ambo con 5 numeri  4 combinazioni 

                                    se devo usare delle matrici tanto vale usare dei ridotti assoluti

                                    01 02 03 04 05
                                    06 07 08 09 11
                                    09 10 15 16 17
                                    12 13 14 18 19

                                    Questa è la garanzia delle 4 colonne

                                     

                                    #39289 Score: 0 | Risposta

                                    albatros54
                                    Moderatore
                                      89 pts

                                      Oscar ha scritto:

                                      ridurre un sistema condizionato  dove non è possibile usare nessuna matrice 

                                       

                                      aaah! io credevo che tu volessi un sistema ridotto ASSOLUTO, non un sistema Condizionato e ridotto, per quel che mi riguarda la vedo molto dura che si possa fare con Excel VBA, in giro ci sono dei programmi professionali che fanno quello che tu chiedi.

                                      Comunque Buon Lavoro  

                                       

                                       

                                      Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                                      Sempre il mare, uomo libero, amerai!
                                      ( Charles Baudelaire )
                                      #39290 Score: 0 | Risposta

                                      Oscar
                                      Partecipante
                                        45 pts

                                        Programmatori ci sono anche qui , ma non conoscono la sistemistica , mi chiedono come si fa....... allora se lo sapevo lo facevo io!

                                        #39291 Score: 0 | Risposta

                                        albatros54
                                        Moderatore
                                          89 pts

                                          Oscar ha scritto:

                                          ma non conoscono la sistemistica , mi chiedono come si fa.......

                                          basta fare un giro in internet e trovi tutte le spiegazioni che riguardano la sistemistica , che cosa si intende per ridotto ASSOLUTO  a come inserire una colonna Condizionata a correzione di errori o come limitare il numero dei segni,parlando di Totocalcio, e via discorrendo, ripeto io ho usato un sotware proessionale di Totocalcio, e facevo di tutto compreso quello che tu chiedi, pero mi ripeto, la vedo dura!

                                           

                                          Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                                          Sempre il mare, uomo libero, amerai!
                                          ( Charles Baudelaire )
                                          #39294 Score: 0 | Risposta

                                          Oscar
                                          Partecipante
                                            45 pts

                                            Si è così si fa lo sviluppo condizionato , poi alla fine si applica la riduzione  di punti (x) del sistema condizionato 

                                            ho cercato in rete , ma non si trova nessuna spiegazione in base al funzionamento del ridotto da applicare

                                             

                                             

                                            #39295 Score: 0 | Risposta

                                            Marius44
                                            Moderatore
                                              58 pts

                                              Salve a tutti

                                              Questo il codice (sicuramente migliorabile) per ottenere quello che chiedi

                                              Sub sviluppo()
                                              'combina 11 numeri (da 1 a 11 compresi) a 5 per volta
                                              'tenere presente che:
                                                'cella 1 va da 1 a 7
                                                'cella 2 va da 2 a 8
                                                'cella 3 va da 3 a 9
                                                'cella 4 va da 4 a 10
                                                'cella 5 va da 5 a 11
                                              Range("J:N").ClearContents
                                              For i = 1 To 7
                                                n1 = i
                                                For j = i + 1 To 8
                                                  n2 = j
                                                  For h = j + 1 To 9
                                                    n3 = h
                                                    For k = h + 1 To 10
                                                      n4 = k
                                                      For w = k + 1 To 11
                                                        n5 = w
                                                        If n1 <> n2 And n1 <> n3 And n1 <> n4 And n1 <> n5 And _
                                                           n2 <> n3 And n2 <> n4 And n2 <> n5 And _
                                                           n3 <> n4 And n3 <> n5 And n4 <> n5 Then
                                                          a = a + 1
                                                          Cells(a, 10) = n1
                                                          Cells(a, 11) = n2
                                                          Cells(a, 12) = n3
                                                          Cells(a, 13) = n4
                                                          Cells(a, 14) = n5
                                                          'controlla cifre appena inserite e
                                                          'conta se sono uguali alle precedenti
                                                            'se la conta è maggiore di 3
                                                              'cancella la riga appena inserita
                                                              'imposta il contatore riga a 1 in meno
                                                              'salta alla nuova riga
                                                          uc = Cells(Rows.Count, 10).End(xlUp).Row
                                                          If uc > 1 Then
                                                            For p = 1 To uc - 1
                                                              conta = 0
                                                              For x = 10 To 14
                                                                If WorksheetFunction.CountIfs(Range("J" & p, "N" & p), Cells(a, x)) = 1 Then conta = conta + 1
                                                              Next x
                                                              If conta > 3 Then
                                                                Range("J" & a, "N" & a).ClearContents
                                                                a = a - 1
                                                                Exit For
                                                              End If
                                                            Next p
                                                          End If
                                                        End If
                                                      Next w
                                                    Next k
                                                  Next h
                                                Next j
                                              Next i
                                              End Sub
                                              

                                              Ti riporta le cinquine dalla col.J alla N

                                              Fai sapere. Ciao,

                                              Mario

                                              Allegati:
                                              You must be logged in to view attached files.
                                              #39297 Score: 0 | Risposta

                                              albatros54
                                              Moderatore
                                                89 pts

                                                Oscar ha scritto:

                                                ho cercato in rete , ma non si trova nessuna spiegazione in base al funzionamento del ridotto da applicare

                                                http://lasistemisticalotto.blogspot.com/p/sistemi-integrali.html

                                                forse ti puo indirizzare

                                                 

                                                Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                                                Sempre il mare, uomo libero, amerai!
                                                ( Charles Baudelaire )
                                                #39298 Score: 0 | Risposta

                                                Oscar
                                                Partecipante
                                                  45 pts

                                                  Ciao Albatros ho provato come ridotto è perfetto 

                                                  però viene creato come matrice  adesso bisogna trovare la soluzione come prendere i numeri dello sviluppo

                                                  Bravo!!!!

                                                   

                                                  #39299 Score: 0 | Risposta

                                                  albatros54
                                                  Moderatore
                                                    89 pts

                                                    Oscar ha scritto:

                                                    Ciao Albatros ho provato come ridotto è perfett

                                                    dare a Cesare quel che è di Cesare  

                                                    Forse intendevi Mario, che saluto  

                                                     

                                                    Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                                                    Sempre il mare, uomo libero, amerai!
                                                    ( Charles Baudelaire )
                                                    #39300 Score: 0 | Risposta

                                                    albatros54
                                                    Moderatore
                                                      89 pts

                                                      Oscar ha scritto:

                                                      però viene creato come matrice  adesso bisogna trovare la soluzione come prendere i numeri dello sviluppo

                                                      Mi sono permesso di modificare il codice di Mario, inserisic i numeri (11) in questo casa , nella colonna G1 del file postato da Mario, poi incolla il codice che ti posto  in un modulo VBA ed associalo ad un pulsante, vedi quello che succede!

                                                      `Sub sviluppo()
                                                      'combina 11 numeri (da 1 a 11 compresi) a 5 per volta
                                                      'tenere presente che:
                                                        'cella 1 va da 1 a 7
                                                        'cella 2 va da 2 a 8
                                                        'cella 3 va da 3 a 9
                                                        'cella 4 va da 4 a 10
                                                        'cella 5 va da 5 a 11
                                                      Range("J:N").ClearContents
                                                      arr = Foglio2.Range("g1").CurrentRegion.Value <<< AGGIUNTA
                                                      For i = arr(1, 1) To arr(7, 1) <<<---------
                                                        n1 = i
                                                        For j = arr(2, 1) To arr(8, 1) <<<<--------
                                                          n2 = j
                                                          For h = arr(3, 1) To arr(9, 1) <<<--------
                                                            n3 = h
                                                            For k = arr(4, 1) To arr(10, 1) <<<--------
                                                              n4 = k
                                                              For w = arr(5, 1) To arr(11, 1) <<<--------
                                                                n5 = w
                                                                If n1 <> n2 And n1 <> n3 And n1 <> n4 And n1 <> n5 And _
                                                                   n2 <> n3 And n2 <> n4 And n2 <> n5 And _
                                                                   n3 <> n4 And n3 <> n5 And n4 <> n5 Then
                                                                  a = a + 1
                                                                  Cells(a, 10) = n1
                                                                  Cells(a, 11) = n2
                                                                  Cells(a, 12) = n3
                                                                  Cells(a, 13) = n4
                                                                  Cells(a, 14) = n5
                                                                  'controlla cifre appena inserite e
                                                                  'conta se sono uguali alle precedenti
                                                                    'se la conta è maggiore di 3
                                                                      'cancella la riga appena inserita
                                                                      'imposta il contatore riga a 1 in meno
                                                                      'salta alla nuova riga
                                                                  uc = Cells(Rows.Count, 10).End(xlUp).Row
                                                                  If uc > 1 Then
                                                                    For p = 1 To uc - 1
                                                                      conta = 0
                                                                      For x = 10 To 14
                                                                        If WorksheetFunction.CountIfs(Range("J" & p, "N" & p), Cells(a, x)) = 1 Then conta = conta + 1
                                                                      Next x
                                                                      If conta > 3 Then
                                                                        Range("J" & a, "N" & a).ClearContents
                                                                        a = a - 1
                                                                        Exit For
                                                                      End If
                                                                    Next p
                                                                  End If
                                                                End If
                                                              Next w
                                                            Next k
                                                          Next h
                                                        Next j
                                                      Next i
                                                      End Sub
                                                      
                                                      `

                                                       

                                                       

                                                       

                                                      Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                                                      Sempre il mare, uomo libero, amerai!
                                                      ( Charles Baudelaire )
                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 50 totali)
                                                    Rispondi a: Ridurre un sistema integrale del Lotto
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: