Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Dinamicizzare questo script generatore di combinazioni...

    Questo cod genera tutti i possibili terni in un range di elementi da 1 a 90

    Codice PHP:
    $n 1;
    $count 91

    for (
    $x 1$x $count$x++) { 
        for (
    $y $x 1$y $count$y++) { 
            for (
    $z $y 1$z $count$z++) { 
              print(
    "{$x},{$y},{$z}"."
    "
    ); 
                
    $n++; 
    Io ora lo vorrei dinamicizzare... in modo da avere la generazione di tutti i terni si ma di un gruppo di numeri deciso ogni volta che potrebbe essere anche di elementi non contigui o del tutto casuali...

    Con cui poter generare ad esempio tutti i terni possibili di un determinato gruppo di numeri tipo quello riportato qui sotto:

    es.. 1,12,34,37,41,49,55,67,89,90 -> generazione di tutti i possibili 120 terni relativi.

    Qualcuno/a saprebbe come potrei fare?

    Grazie




  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Una domanda: quella variabile $n ti serve a qualcosa che fa lo script in seguito? Perché lì non serve a niente, viene solo incrementata e non viene usata da nessuna parte.

    Quando scrivi del codice, mettilo all'interno dei tag [ php] e [/ php] (senza gli spazi), così viene mantenuta l'indentazione.

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    la variabile $n in quel caso serviva ad incrementare

    Originariamente inviato da Alhazred
    Una domanda: quella variabile $n ti serve a qualcosa che fa lo script in seguito? Perché lì non serve a niente, viene solo incrementata e non viene usata da nessuna parte.

    Quando scrivi del codice, mettilo all'interno dei tag [ php] e [/ php] (senza gli spazi), così viene mantenuta l'indentazione.
    opportunatamente il ciclo per la generazione di tutti i terni possibili tra 1 e 90.
    come puoi vedere dall'ultima riga $n++;

    Circoscritto il codice con i tag [PHP] grazie per il consiglio.


  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Sì, $n++ l'ho vista, ma a che serve? $n non la usi per fare controlli, non la stampi, non ci fai niente, la incrementi e basta.

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    serve per avere tutte le combinazioni possibili

    altrimenti si fermerebbe alla prima...

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Boh, allora $n viene usata in qualche parte che non hai postato, perché dal codice che vedo non ha alcun effetto.
    Voglio dire: quando viene eseguito il for più interno $n viene incrementato a 2-3-4-5-6..., chi se ne accorge di ciò? Dove viene controllato il valore di $n?

    Puoi scrivere tutto il codice dello script?

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    certo ma...

    Originariamente inviato da Alhazred
    Boh, allora $n viene usata in qualche parte che non hai postato, perché dal codice che vedo non ha alcun effetto.
    Voglio dire: quando viene eseguito il for più interno $n viene incrementato a 2-3-4-5-6..., chi se ne accorge di ciò? Dove viene controllato il valore di $n?

    Puoi scrivere tutto il codice dello script?
    il codice mancante è solo questo:

    Codice PHP:

    }

            } 
        } 


    Perchè ti ripeto che la $n serve solo... ad avere una dopo l'altra tutte le combinazioni possibili...


  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Bene, ti confermo allora che $n non serve a nulla, questo codice
    Codice PHP:
    $count 91;

    for (
    $x 1$x $count$x++) {
        for (
    $y $x 1$y $count$y++) {
            for (
    $z $y 1$z $count$z++) {
                print(
    "{$x},{$y},{$z}"."
    "
    );
            }
        }

    L'ho provato e fa la stessa identica cosa del tuo.

    Ora che è chiarito il mistero sul tuo algoritmo, provo a vedere come modificarlo.

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Ecco, questo sembra funzionare:
    Codice PHP:
    $numeri = array(1,12,34,37,41,49,55,67,89,90);
    $count count($numeri);

    for (
    $x 0$x $count$x++) {
        for (
    $y $x 1$y $count$y++) {
            for (
    $z $y 1$z $count$z++) {
                print(
    "{$numeri[$x]},{$numeri[$y]},{$numeri[$z]}"."
    "
    );
            }
        }


  10. #10
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    funziona funziona!

    GRAZIE


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