Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    array associativi problema per matematici

    Salve, supponiamo che ho un array associativo, per esempio:

    Array ([Michele]=>23 [Marta]=>16 [Francesca]=>72 ...)

    Devo effettuare tutte le combinazioni di somme possibili tra gli elementi dell'array per vedere se soddisfano un parametro...

    Quindi, una cosa del tipo:

    prendi il primo e sommalo al secondo, prendi il primo e sommalo al secondo e al terzo, ecc.

    prendi il secondo e sommalo al primo, prendi il secondo e sommalo al primo e al terzo, ecc.

    Se la somma è maggiore di 80 per esempio allora lo accodi in una stringa e procedi.

    Quindi, nell'esempio:

    (il primo con tutti gli altri):
    prendi 23 e sommalo a 16; vedi se è maggiore di 80: no vai avanti;
    prendi 23 e sommalo a 16 e a 72; vedi se è maggiore di 80: si dunque $stringa="$stringa"."23+16+72";

    (il secondo con tutti gli altri):
    prendi 16 e sommalo a 23; vedi se è maggiore di 80: no vai avanti;
    prendi 16 e sommalo a 23 e a 72; vedi se è maggiore di 80: si dunque $stringa="$stringa"."16+23+72";
    ...

    Insomma, devo verificare che tutte le possibili somme tra gli elementi di un array soddisfino o meno una condizione...

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    scusa ma nuovo problema array...

    Ciao, sì scusa, solo che questo è un altro...
    Dunque: innanzitutto sei troppo forte...il precedente va che è una meraviglia...
    Solo che mi serve verificare tutte le possibili somme tra persone (nel precedente era due a due...).
    Riesci a adattare lo splendido script con il nuovo problema posto qui sotto?
    P.S. considera che ho riunito l'array in uno solo, quindi ho tutte le persone in fila...

    Scusa eh ma se sto diventando pazzo...se riesci sei un grande...

    Dunque:
    Array ([Michele]=>23 [Marta]=>16 [Francesca]=>72 ...)

    Devo effettuare tutte le combinazioni di somme possibili tra gli elementi dell'array per vedere se soddisfano un parametro...

    Quindi, una cosa del tipo:

    prendi il primo e sommalo al secondo, prendi il primo e sommalo al secondo e al terzo, ecc.

    prendi il secondo e sommalo al primo, prendi il secondo e sommalo al primo e al terzo, ecc.

    Se la somma è maggiore di 80 per esempio allora lo accodi in una stringa e procedi.
    Alla fine stampa l'elenco...

    Quindi, nell'esempio:

    (il primo con tutti gli altri):
    prendi 23 e sommalo a 16; vedi se è maggiore di 80: no vai avanti;
    prendi 23 e sommalo a 16 e a 72; vedi se è maggiore di 80: si dunque $stringa="$stringa"."23+16+72";

    (il secondo con tutti gli altri):
    prendi 16 e sommalo a 23; vedi se è maggiore di 80: no vai avanti;
    prendi 16 e sommalo a 23 e a 72; vedi se è maggiore di 80: si dunque $stringa="$stringa"."16+23+72";
    ...

    Insomma, devo verificare che tutte le possibili somme tra gli elementi di un array soddisfino o meno una condizione...

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Ah scusami...avevo letto di corsa e mi sembrava avessi ripostato lo stesso quesito.

    Quindi insomma tu vorresti che non faccia solo somme a coppia ma bensì, la sommatoria di n elementi con n che va da 2 a count(array)?

    Quindi in pratica anche somme di 3, 9 o anche 100 elementi (ovviamente sempre che gli elementi dell'array siano più di 100). Giusto?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    tipo...

    Ciao, grazie eh e scusa l'imprecisione ma non so nemmeno spegarlo...
    Comunque sì...
    Dunque, considera che devo listare tutte le possibili combinazioni di persone la cui somma mi dia un numero predefinito, nel nostro caso mettiamo 80 come somma di anni totale.
    Quindi se ho un array unico di persone, devo considerare tutte le possibili combinazioni di somme e verificare la condizione=80 di volta in volta.
    Per ottenerle tutte, mi pare che devo sommare il primo con il secondo, poi il primo con il secondo e il terzo, ecc.
    e procedere così con il secondo verso tutti, il terzo verso tutti, ecc.

    Sta menata mi serve per un compito da presentare ma sto impazzendo...

    Mi viene chiesto in sostanza di listare (con nome e anno...) tutti i possibili gruppi di persone dato un insieme finito (supponi 30 persone ma deve essere una routine valida anche per n=100 per esempio...) la cui somma degli anni deve essere pari a un numero dato per esempio 80 (che poi passo io da form).
    Quindi la somma di 80 può essere data da due persone di 40 anni (2 elementi) oppure da due di 20 anni e una di quaranta (3 elementi).
    Il campo è ristretto al solo insieme dato, solo che devo considerare nel listing pure gli omonimi in termini di nome e anno in quanto nel gruppo ci sono per esempio due Michele di 23 anni... come se non bastasse...

    Il risultato deve essere una cosa del tipo:

    Michele,20+Francesca,20+Franco,40
    Francesco,40+Luca,40
    ...

  6. #6
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Urca...un bel macello

    Vorrei tanto darti una mano, ma sto per staccare e nel weekend non ho la linea. Spero che qualcun'altro sicuramente più in gamba di me ti dia la dritta giusta.

    PS: cazzo...pure gli omonimi..quello si è un bel casino temo ^^'


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 © 2024 vBulletin Solutions, Inc. All rights reserved.