+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

Combinazioni possibili con somma di numeri

  1. #1
    SuperRomu non è in linea Novello
    Salve a tutti
    Volevo sapere se qualcuno potrebbe aiutarmi con un quesito che mi sono posto.
    Faccio un esempio:
    In base a questi numeri che sono posizionati ogni uno su una textbox a se:

    10 20 40 23 12
    12 02 78 98 13

    devo far sommare il Primo numero con il primo della seconda riga, il primo con il secondo della seconda riga,..... il prima con il quinto della seconda riga e poi ricominciare facendo il secondo della prima riga con il primo della seconda riga, il secondo della prima con il secondo della seconda... e cosi via!
    Infine trovare la somma dei due numeri che si è ripetuta.
    Spero di essere stato chiaro!
    Se avete anche un piccolo dubbio e aiuto postate! Ne ho davvero bisogno!

  2. #2
    L'avatar di chico_
    chico_ non è in linea Topo di biblioteca Ultimo blog: Attacco a Oscommerce
    Mi sembra abbastanza evidente che le combinazioni possibili siano la quantità di elementi della prima riga moltiplicata per la quantità di elementi della seconda, nel nostro caso 5x5=25 combinazioni.
    Su quante ripetizioni ci possano essere, dipende dai valori che sommi.

    Ciauz

    Chico
    ℹ️ Leggi di più su chico_ ...

  3. #3
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Ciao SuperRomu,
    Innanzitutto, benvenuto su MasterDrive.it... ti ricordo, se non l'hai già fatto, di leggere il nostro Regolamento

    Per il tuo problema, mi sembra si possa risolvere abbastanza agevolmente con 2 array sui quali eseguirai un ciclo o, per l'esattezza, 2 cicli nidificati.
    Non si capisce se ogni singolo numero ha un suo TextBox (in pratica ne avresti 10, secondo il tuo esempio) o se ogni serie ha un suo TextBox (e quindi 2 in totale).

    Nel primo caso, ovvero ogni singolo numero su unTextBox, ti converrebbe usarli in matrice di controlli così da poterli indicizzare all'interno dei cicli, evitando così di utilizzare degli Array per contenere i numeri.
    Nel secondo caso, quindi in presenza di soli 2 TextBox con la serie di numeri, puoi ottenere semplicemente 2 array usando 2 variabili appositamente dichiarate e la funzione Split (sulla quale faresti bene a documentarti sulla guida in linea)

    Ottenuti gli array o la matrice di controlli, potrai effettuare i cicli utilizzando questa struttura:

    For a = 0 to [Numero di elementi di PrimoArray]
        For b = 0 to [Numero di elementi di SecondoArray]
            Somma = PrimoArray(a)+SecondoArray(b)
        Next b
    Next a
    
    Considerato che devi anche effettuare dei controlli sui duplicati delle somme, ti converrebbe utilizzare un terzo Array (o una collection) per verificare se la somma degli elementi correnti è stata già ottenuta.

    Comincia a scrivere qualche riga di codice sulla base di queste indicazioni e, se dovessi riscontrare problemi, siamo sempre qui

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  4. #4
    SuperRomu non è in linea Novello
    grazie a tutti per il tempismo e per le risposte!
    la soluzione è stata centrata inpieno, ho creato textbox con matrici..

    ora come posso confrontare tutti i risultati? per ora ho aggiunto tutte le somme in una listbox, 1 riga 1 somma...

    qualche consiglio?

  5. #5
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    se devi risalire anche ai numeri che hanno generato le somme uguali, ti conviene memorizzarli da qualche parte in maniera correlata alla somma che essi producono.
    Il rilievo delle somme uguali, ti consiglio di eseguirlo man mano che le somme vengono eseguite nei cicli nidificati.
    In pratica produci una somma con gli elementi correnti e - attraverso una function dedicata allo scopo, o con un ulteriore ciclo "in loco" - controlli nelle somme già eseguite se questa è già presente. In caso positivo puoi archiviare (in una collection sarebbe più efficiente) la somma con i relativi numeri che la producono.

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  6. #6
    SuperRomu non è in linea Novello
    Come posso verificare l'esistenza del dato?

  7. #7
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    come ti dicevo prima:

    Quote Originariamente inviato da TheTruster Visualizza il messaggio
    In pratica produci una somma con gli elementi correnti e - attraverso una function dedicata allo scopo, o con un ulteriore ciclo "in loco" - controlli nelle somme già eseguite se questa è già presente.
    ovviamente il confronto va fatto con il costrutto If...Then, ma sono cose basilari che dovresti già sapere prima di affrontare la programmazione, anche ad un livello elementare...

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. somma di tanti numeri
    Da Missileback nel forum C/C++
    Risposte: 4
    Ultimo Post: 06-01-2015, 13:50
  2. Somma di numeri in un datagridview
    Da nembo nel forum Visual Basic .Net
    Risposte: 24
    Ultimo Post: 01-04-2008, 20:20
  3. [vb6]Combinazioni di 45 numeri
    Da dolcissimo nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 26-02-2007, 11:18
  4. Combinazioni possibili
    Da marinaio nel forum Pausa caffè
    Risposte: 6
    Ultimo Post: 11-03-2006, 17:19
  5. Quante combinazioni in una stringa numeri ?
    Da © rocky nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 09-03-2006, 18:51