IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Variable qui prend plusieurs valeurs


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut [Tableaux] Variable qui prend plusieurs valeurs
    bonjour a vous, je suis en train de faire un script php qu permet de faire un nombre M de tirage pour trouver une valeur aléatoire, le script affiche le nombre de coups réalisé pour trouver ce nombre et la moyenne, mon probleme c'est que je cherche le moyen astucieux de donner plusieurs valeur a mon nombre de tirage, c'est a dire que j'aimerais qu'il y ait M = 10 , 100 , 1000 , 10 000. je ne veux pas copié collé betement le code, je voulai savoir si cété possible de faire autrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $nb_tirage= 0 ;
    while ($nb_tirage < 10){
    	$nb_mystere = rand (1,100);
    	$tirage = 0;
    	$i = 0;
    		while ($tirage != $nb_mystere)
    		{
    		$tirage = rand (1,100);
    		$i++;
    		}
     
    	echo " Tu as trouvé le nombre mystère ".$nb_mystere." en " .$i. " coups";
     
    	echo "<br>";
    	$result = $result+$i;
    	$nb_tirage++;
    }
    echo $result;
    echo "<br><br>";
    echo "la moyenne est de <b>".$result / $nb_tirage."</b> sur <b>".$nb_tirage."</b> réalisés" ;
    ce script donne pour résultat http://www.gandoulfe.com/exo.php

    merci de votre aide.

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    un array() ?

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    j'y avais pensé mais a vrai dire, je ne sais pas comment ca marche

  4. #4
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Je comprends pas la question.

    Tu voudrais avoir un nombre $nb_tirage aléatoire sur la base de 10, 100, 1000...

    Un truc comme :

    <?php

    &#160;&#160;&#160;&#160;$tab_tirage&#160;
    =&#160;array&#160;(&#160;10&#160;,&#160;100&#160;,&#160;1000&#160;,&#160;10000&#160;)&#160;;
    &#160;&#160;&#160;&#160;
    shuffle&#160;(&#160;$tab_tirage&#160;)&#160;;

    &#160;&#160;&#160;&#160;
    $nb_tirage&#160;=&#160;$tab_tirage[0]&#160;;

    ?>


    Phpsyntaxcolor powered by decabodi
    ????
    Consultant idéaliste.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    oui j'aimerai faire que ma variable $nb_tirage prenne les valeurs de
    10
    100
    1000
    10000 !
    a la suite et non aléatoirement
    et je sais pas comment ca marche avec un tablo

  6. #6
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Si c'est à la suite mais pas aléatoirement c'est encore plus simple, tu parcours ton tableau avec un foreach...
    Consultant idéaliste.

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si je comprends bien, tu veux faire quelque chose dans ce style ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for($i = 10; $i < 1000000; $i *= 10){
       // $i prend la valeur de 10 puis 100 puis 1000...
    }
    Au passage, deux choses :
    • Ton while est en réalité un for car $nb_tirages augmente toujours de 1 en 1
    • Utilise de préférence mt_rand() à rand()

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    voila ca doit etre comme ca ! je vai tester ca ce soir merci !

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    j'avoue que j'ai du mal :s !! si quelqu'un peut me montrer commet faire ca serait vraiment sympa !

    merci

  10. #10
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    La réponse est dans ce topic sous différentes formes il est vrai, mais elle est là devant tes yeux.

    Si as du mal à faire quoi ? A l'intégrer dans ton script ? Montres-nous déjà ce que tu as fais.
    Consultant idéaliste.

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    pour le moment j'en suis la , mais c'est pas bon .. ca n'affiche pas ce que je veux, en thorie ca devrai m'afficher 10 tirage, ma moyenne de ces 10 puis apres afiché 100 tirage la moyenne.. puis 1000 et enfin 10 000 tirages !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    for($nb_tirage = 10; $nb_tirage < 10000; $nb_tirage *= 10){ 
    while ($nb_tirage < 10000){
    	$nb_mystere = mt_rand (1,100);
    	$tirage = 0;
    	$i = 0;
    		while ($tirage != $nb_mystere)
    		{
    		$tirage = mt_rand (1,100);
    		$i++;
    		}
     
    	echo " Tu as trouvé le nombre mystère ".$nb_mystere." en " .$i. " coups";
     
    	echo "<br>";
    	$result = $result+$i;
    	$nb_tirage++;
    }
    echo $result;
    echo "<br><br>";
    echo "la moyenne est de <b>".$result / $nb_tirage."</b> sur <b>".$nb_tirage."</b> réalisés" ;
    }

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut

  13. #13
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    essaies

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    for($nb_tirage = 10; $nb_tirage < 10000; $nb_tirage *= 10){
    $incr=0;
    while ($incr < $nb_tirage){
       $nb_mystere = mt_rand (1,100);
       $tirage = 0;
       $i = 0;
          while ($tirage != $nb_mystere)
          {
          $tirage = mt_rand (1,100);
          $i++;
          }
     
       echo " Tu as trouvé le nombre mystère ".$nb_mystere." en " .$i. " coups";
     
       echo "<br>";
       $result = $result+$i;
       $incr++;
    }
    echo $result;
    echo "<br><br>";
    echo "la moyenne est de <b>".$result / $nb_tirage."</b> sur <b>".$nb_tirage."</b> réalisés" ;
    }
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  14. #14
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut


    MERCIIIII





  15. #15
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    L'abus de smileys est mauvais pour la santé
    Consultant idéaliste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction qui retourne plusieurs valeurs !
    Par casafa dans le forum C++
    Réponses: 20
    Dernier message: 23/04/2014, 16h56
  2. [Tableaux] Variable qui ne prend pas sa valeur
    Par stephane78 dans le forum Langage
    Réponses: 11
    Dernier message: 19/08/2006, 20h30
  3. Réponses: 1
    Dernier message: 05/12/2005, 22h49
  4. Réponses: 8
    Dernier message: 30/11/2005, 10h00
  5. [PL/SQL] Fonction qui retourne plusieurs valeurs
    Par Loko dans le forum Oracle
    Réponses: 2
    Dernier message: 07/12/2004, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo