Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    16

    [ALGORITMO] Combinazione serie valori

    Vi spiego il mio problema che è alquanto particolare...
    Da una query ottengo come risultato una serie di valori, per esempio

    10 5 6 8

    avrei bisogno di scriverli in un file con tutte le combinazioni di coppie possibili, in che modo si può fare, il risultato dovrebbe essere questo

    10 5
    10 6
    10 8
    5 6
    5 8
    6 8

    sullo scrivere in un file non ho problemi, ma non riesco a trasformare il primo output nel secondo. Avevo pensato ad array. Qualche idea?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ah.. detto in "pseudo codice"

    Sia arr = 10, 5, 6, 8 l'array dei risultati

    for (int i = 0; i < arr.length-1; i++) {
    for (int j=i+1; j < arr.length; j++) {
    scrivi(arr[i]+" "+arr[j]);
    }
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    16
    ok. grazie.

    Altra piccola provocazione se puoi rispondermi anche se un po' OT.

    Questo Algoritmo mi serve all'interno di un ciclo while di PHP che tira fuori dati da una query.

    Idee su come portare i dati all'interno di un array in PHP?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    bhè... dipende da come ricevi quella lista di id e da che altro fai... comunque, il tempo di esecuzione dello pseudocodice là sopra è quadratico con la lunghezza dell'array.

    Prima di finire OT, chiedi di spostare la discussione di là, in php.

    Ad ogni modo, se scorry l'array dei recordset estratti,

    codice:
    $ids = array();
    
    while (...come scorri i recordset ) {
      $ids[] = $row['id'];
      // qui fai il resto delle cose
    }
    
    for ($i=0; $i < count($ids) -1; $i++) {
      for ($j = $i+1; $j < count($ids); $j++) {
        echo($ids[$i]." ".$ids[$j]."
    ");
      }
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.