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

    Dato un array A di 45 numeri...

    Vorrei semplicemente...
    poter creare dinamicamente z combinazioni di n numeri pescando in modo casuale dall'array A sopra menzionato contenente 45 numeri e non avendo per nessuna di queste z combinazioni alcun doppione...

    It's possible?
    If yes... the cod please

    Es. grafico...
    Dato:
    z=3
    n=10
    e A contenente i numeri da 1 a 45

    vorrei ottenere qualcosa del genere
    21 34 45 22 43 44 01 02 03 41
    22 23 24 25 31 28 33 12 17 18
    16 26 32 33 45 33 44 43 11 42

    escludendo casi con doppioni come questi...

    34 34 45 22 43 44 01 02 03 41
    22 23 24 25 23 28 33 12 17 18
    26 26 32 33 45 45 44 43 11 42

    Grazie a tutti/e

    "Vero sapiente è colui che sa di non sapere" (Socrate)

  2. #2

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

    Grazie ma...

    Is TROPPO for me

    Un ci sarebbe qualkosina di piu' commestibile...?

    Grazie comque

    ps:Nel caso decidessi di bruciarmi quei poki neuroni che mi rimangono decidendo di cercare di assimilare il tuo interessantissimo ma difficilissimo (for me) cod.. per farlo funzionare a parte i commenti devo copiare e incollare tutto nella mia pag php eventuale?

    "Vero sapiente è colui che sa di non sapere" (Socrate)

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Un esempio....

    codice:
    <? 
    
    function creaLista() {
     for ($i=1;$i<=45;$i++) {
      $arr[$i] = $i;
     } // for ($i=1;$i<45;i++)
     return $arr;
    } // function creaLista()
    
    function alea($arr,$n) {
     $i = 1;
     $arrRet = array();
     while ($i <> $n) {
      $alea = rand(1,count($arr));
    	if ($arr[$alea] <> 0) {
    	 $arrRet[$i] = $alea;
    	 $arr[$alea] = 0;
    	 $i++;
    	} // if ($arr[$alea] <> 0)
     } // while ($i <> $n) 
     sort($arrRet);
     return $arrRet;
    } // function alea($arr,$n) 
    
    $x = 7;
    
    for ($i=1;$i<=$x;$i++) {
     $str = implode(",",alea(creaLista(),10));
     print $str."
    ";
    } // for ($i=1;$i<=7;$i++)
    
    
    ?>

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

    ottimo grazie ;) ma se volessi...

    Anzichè generare i numeri da un un range prefissato e regolare tipo 1,45 appunto generare queste combinazioni da un array composto.. a piacere dall'utente?

    Cerco di spiegarmi meglio..

    Io ho una tavola di 90 numeri cliccando 45 dei quali mi costruisco un array diciamo nominato SCATOLA...

    Ora io vorrei che il sistema in un passo successivo mi generi z combinazioni di n numeri (non avente nessuna alcun doppione) prelevando i numeri solo dall'array SCATOLA che puo' essere costitutito da tutti i 45 numeri possibili sena alcun ordine preciso...

    Es. SCATOLA contiene i seguenti 45 valori..
    1 56 72 34 12 90 24 27 29 32 33 87 88 89 11 28 83 84 86 ecc... fino al 45° valore

    e il sistema mi genera 5 combinazioni di 10 num. prelevando quest'ultimi solo da SCATOLA...

    Sono stato abbastanza chiaro?

    Ciao e GRAZIE ancoraaa
    "Vero sapiente è colui che sa di non sapere" (Socrate)

  6. #6

    Re: Grazie ma...

    Originariamente inviato da freetom

    Is TROPPO for me

    Un ci sarebbe qualkosina di piu' commestibile...?
    cosa c'e' di complicato ??? :master:

    codice:
    // il codice della pagina che ho linkato 
    // lo metti nel file Combinatory.class.php
    require( 'Combinatory.class.php' );
    
    // il tuo array di quello che ti pare
    $container = Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... , 45 );
    
    // istanzi l' oggetto
    $c = &new Combinatory();
    
    // lo stampi ...
    echo '<pre>';
    var_dump( $c->result( $container, 2, "Cn,k" ) );
    difficile eh ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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

    ho provato ad usarlo...

    ma mi da sempre questi errori VVoVe:

    Warning: Empty delimiter in c:\www\Combinatory.class.php on line 73

    Warning: sort() expects parameter 1 to be array, boolean given in c:\www\Combinatory.class.php on line 103

    Warning: Variable passed to reset() is not an array or object in c:\Combinatory.class.php on line 104

    WHY???

    Grazie comque
    "Vero sapiente è colui che sa di non sapere" (Socrate)

  8. #8
    l' array non l'hai passato cosi', vero ??


    $container = Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... , 45 );



    ... uhm, che versione di php hai ?

    puoi provare con l' esempio che sta nei commenti della classe e vedere se ti da problemi ????
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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

    No l'array l'ho passato...

    così...

    $container = Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 45 );



    versione php e basta..


    Non ho già usato l'esempio della classe a parte i puntini.. che ho tolto? Se no.. quale es. dovrei usare...?

    Grazie e scusa la mia testardaggine in siffatto mirabil codice
    "Vero sapiente è colui che sa di non sapere" (Socrate)

  10. #10

    Re: No l'array l'ho passato...

    Originariamente inviato da freetom
    versione php e basta..
    ma che risposta eh ??? ...




    cmq sia, provato in locale con PHP 4.3.9 e 5.0.2, problemi zero ... fai un po' tu ...



    $container = Array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 );
    $c = &new Combinatory(' '); // note that separator('-') is optional
    $matches = &$c->result( $container, 2, "Cn,k" ); // 2 is the class or combination possibility, Pn is the method
    // METHODS TO CALCULATE: Pn - Pn(k) - Dn,k - D'n,k - Cn,k - C'n,k

    echo count( $matches );
    echo '<pre>';
    var_dump( $matches );
    echo '</pre>';
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.