choisir 10valeur au hasard distinct

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : choisir 10valeur au hasard distinct

par Cyrano » 28 oct. 2006, 22:45

Si tu as un nombre minimum et un nombre maximum entre lesquels tu veux choisir dix valeurs aléatoires, voici une méthode :
-1- créer un tableau indexé conteant toutes les valeurs entre le minimum et le maximum avec range();
-2- mélange le contenu du tableau avec shuffle();
-3- ettectue une boucle for() sur 10 tours pour récupérer les 10 premières valeurs, affiche ça et observe le résultat ;)

Exemple pratique :
<?php
$nbrs = range(1, 500);
shuffle($nbrs);
echo("<p>");
for($i = 0; $i < 10; $i++)
{
    echo($nbrs[$i] ."<br />");
}
echo("</p>");
?>
Va afficher par exemple 10 numéros au hasard entre 1 et 500 :
361
119
225
398
100
218
354
56
488
369
Si tu les veux classés, alors récupères les d'abord dans un tableau intermédiaire, classe ce tableau intermédiaire avec sort() et ensuite utilise-les.

par Monnier » 28 oct. 2006, 22:14

humm apres pas mal de recherche j'en suis arrivé a un raisonement mais je sais pas pourquoi sa marche pas :?

Code : Tout sélectionner

while ($var<$nombre_bombe){ $aleatoire=Gligne($ligne2, $colonne2); $case=split (" ", $aleatoire); if (empty ($tableau[$case[0]][$case[1]])){ $tableau[$case[0]][$case[1]]=-1; $var=$var+1;}else { $var=$var-1;} } return $tableau; }
Donc voila mon raisonnement
-Je regarde si la case de mon tableau est vide
si elle est vide j'avance de 1 dans mes recherches de variable aleatoire, sinon je recule de 1 pour recommencer la recherche

Mais sa marche pas :'(

Solution? :(

par Ajoloca » 27 oct. 2006, 22:57

Bonsoir,

Une méthode parmis d'autres,
Tu crées un tableau qui contiendra tes nombres
Tu crées une boucle qui va générer un nombre à chaque passage. Tu vérifies que le nombre n'est pas dans ton tableau, si c'est le cas tu l'insères, sinon tu "reboucles". Ta boucle s'arretera quand ton tableau aura 10 éléments.
Une fois le tableau remplit tu le parcours pour récupérer les valeurs.

choisir 10valeur au hasard distinct

par Monnier » 27 oct. 2006, 22:48

Bonjours a tous !! :)

Voila j'aimerai savoir comment je pourrai chercher 10 nombre au hasard distinct ?
J'ai vu la fonction rand(min, max) mais je vois pas trop comment l'appliquer pour mon cas :?
Si quelqun a la soluce :P