Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    [VB6] restituzione sbagliata valore

    codice:
                     Dim pnt(4)' matrice di controllo
                        
                            pnt(1) = sb '1° numero
                            pnt(2) = st '2° numero
                            pnt(3) = sc '3° numero
                            pnt(4) = sv '4° numero
                            For pn = 1 To 4
                            For numeri = 1 To 90 conto i 90 
                            pentagono = Abs((pnt(pn) - (numeri))
                           If pentagono > 45 Then pentagono = 90 - pentagono
    ' trova la distanza tra i  numeri iniziale e i 90 numeri
                          If pentagono = 18 Or pentagono = 36 Then' contralla che facciano parte ad uno dei 18  gruppi
                        If numeri <> sc And numeri <> st And numeri <> sv And numeri <> sb Then' confronta i numeri se sono diversi da quelli iniziale dovrebbe scrivere quello mancante
                        ambata = numeri
    spiego che se si divisono 90 numeri con una distanza tra lorodi 18, si creano 18 gruppi di numeri,ogni gruppo di 5 numeri.....
    con il codice di sopra dovrei risolvere il probloma che ho pero non funziona, il problema è che io ho 4 numeri di 5, di un qualsiasi gruppo dei 18 sopra spiegati prima, avendo 4 numeri dovrei trovare il 5° elemento ed ho agito in quel modo
    il problema è che non mi da il 5° elemento, o megli avvolte lo da altrevolte ...in base alla condizione da il numero maggiore dei 5 elementi appartenenti ad un gruppo

    la mia domanda è xchè e se gentilmente mi aiutereste

    grazie
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  2. #2
    spero di essermi spiegato
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  3. #3
    Originariamente inviato da Magicolotto
    spero di essermi spiegato
    Io non ho capito niente

  4. #4
    spero di spiegarmi, ho modificato pure qualcosa
    codice:
                     
                            Dim pnt(4)
                            'ho 4 numeri che metto in questa matrice
                            pnt(1) = 50
                            pnt(2) = 86
                            pnt(3) = 32
                            pnt(4) = 68
                            ' SCRIVE I 5 NUMERI CONTENUTI NELLA MATRICE
                             ' imposto un contatore
                            For pn = 1 To 4
                          ' imposto un ciclo che mi riporti  il 1° numero  50 a -18 finche non è > 0
                           minp1 = 50
                           Do
                           minp1 = minp1 - 18
                           Loop Until minp1 < 18
                           If minp1 < 0 Then
                           minp1 = minp1 + 18
                           End If
                           If minp1 = 0 Then
                           minp1 = 18
                            End If
                            ' finisco il  ciclo
                             'imposto un'altro ciclo  che mi ritrovi
                            Dim min(5)
                            For np = 1 To 5
                           ' con questi  ottengo 5numeri 4 dei quali sono uguali ai primi 4
                            min(1) = minp1
                            min(2) = minp1 + 18
                            min(3) = minp1 + 36
                            min(4) = minp1 + 54
                            min(5) = minp1 + 72
                             adesso qui confronto i 5 numeri ultimi con i primi 4 per far si che mi restituisca il numero diverso .. cioè mancante alla serie
                            If min(np) <> pnt(pn) Then
                            ambata = min(np)
    il problema sopra spiegato e che non mi restituisce il numero diverso , ma restituisce il numero piu' grande della serire il questo caso 86, mentre dovrebbe restituire il 14

    grazie e spero che mi aiutate......
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Non ho capito bene cosa deve fare, ma con questa istruzione esce dal loop sempre con 14:

    codice:
                           minp1 = 50
                           Do
                           minp1 = minp1 - 18
                           Loop Until minp1 < 18
    E qui tu avrai anche se lo esegui per 5 volte sempre :
    codice:
                            For np = 1 To 5
                           ' con questi  ottengo 5numeri 4 dei quali sono uguali ai primi 4
                            min(1) = minp1       '14
                            min(2) = minp1 + 18  '32
                            min(3) = minp1 + 36  '50
                            min(4) = minp1 + 54  '68
                            min(5) = minp1 + 72  '86
    Mentre qui che non fai vedere cosa succede dopo la if ti uscirà per forza con 86 a parte che forse volevi scrivere pnt(np) e non pnt(pn).
    Vedi For np = 1 To 5


    codice:
                            If min(np) <> pnt(pn) Then
                            ambata = min(np)
    Ciao

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito il problema ...

    Purtroppo se dai per scontato che noi si sappia di cosa stai parlando, ti sbagli ...

  7. #7
    ok scusatemi, non lo do per scontato.... riepilogo di quello che vogliodire
    nel gioco del lotto ci stanno 90 numeri possibili
    essi a passo 18 restituiscono 18 cinquine cioè queste :
    1.19.37.55.73
    2.20.38.56.74
    3.21.39.57.75
    4.22.40.58.76
    5.23.41.59.77
    6.24.42.60.78
    7.25.43.61.79
    8.26.44.62.80
    9.27.45.63.81
    10.28.46.64.82
    11.29.47.65.83
    12.30.48.66.84
    13.31.49.67.85
    14.32.50.68.86
    15.33.51.69.87
    16.34.52.70.88
    17.35.53.71.89
    18.36.54.72.90

    con la ricerca in archivio che ho scritto, riesco a trovare nell'estrazione( esempio) 4 dei numeri appartenenti una di quelle righe o gruppi
    esempio sopra del codice ritrovo
    32.50.68.86... devo far in modo che restituisca il 5 ° elemento



    spero di essere stato piu' chiaro di prima
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  8. #8
    Finalmente sei riuscito ad essere + chiaro
    E' risolvibile con un'unica formula:
    codice:
    NumeroCheCerchi = 185 + (Pnt(1) Mod 18 - 1) * 5 - ( Pnt(1) + Pnt(2) + Pnt(3) + Pnt(4))
    Questo perchè la somma dei primi 5 numeri è 185, dei secondi è 190, dei terzi è 195 ecc...
    Inoltre prendendo un numero casuale dei 4 conosciuti e calcolando il Modulo18 riesci a sapere a quale combinazione fai riferimento (ovvero il numero + piccolo dei 5)

  9. #9
    ciao grazie per l'aiuto..
    ho provato , ma restituisce numeri negativi molto alti
    ecco guarda
    spero di capirci qualcosa intantio faccio delle altre prove e capire
    Immagini allegate Immagini allegate
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  10. #10
    codice:
                        ab1 = minp1 - 1 
                              ab2 = ab1 * 5 
                              ab3 = 185 + ab2 
                              ab4 = sb + st + sc + sv 
                              ambata = ab3 - ab4
    ma il risultato è sempre lo stessoda numeri fuori non riesco a capire il perche .. cmq fatto a mano va bene


    mi aiutate
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.