choix des 5 nombres aleatoires distincts...
8 messages
• Page 1 sur 1
- sebnutt
- WRInaute passionné

- Messages: 1308
- Inscription: 10 Déc 2003
choix des 5 nombres aleatoires distincts...
salut a tous
j'aimerais connaitre le code permettant de choisir 5 nombres DISTINCTS compris entre 1 et 30.
sans utiliser de while ou de boucle (sauf si on peut pas faire autrement)...
merci
j'aimerais connaitre le code permettant de choisir 5 nombres DISTINCTS compris entre 1 et 30.
sans utiliser de while ou de boucle (sauf si on peut pas faire autrement)...
merci
- La Chaise sauvage
- WRInaute impliqué

- Messages: 718
- Inscription: 11 Avr 2005
heu, sans utiliser de while, je veux bien, mais sans boucle je ne vois pas comment c'est faisable (et surtout, pourquoi ?)
sinon tu peux faire ça
// edit : oublie ce que je viens de dire mon code est foireux, je reviens tout de suite ^^
sinon tu peux faire ça
// edit : oublie ce que je viens de dire mon code est foireux, je reviens tout de suite ^^
-

jeanluc - WRInaute accro

- Messages: 3062
- Inscription: 3 Mai 2004
Bonjour,
Je pense qu'il y a un petit problème quand le générateur de nombres aléatoires donnent un nombre qui est déjà dans la liste. Version modifiée avec while (non testée):
Jean-Luc
Je pense qu'il y a un petit problème quand le générateur de nombres aléatoires donnent un nombre qui est déjà dans la liste. Version modifiée avec while (non testée):
- Code: Tout sélectionner
function distinctRand($nb,$amp) {
$res = array();
for($i=0 ; $i < $nb ; $i++) {
$nb = mt_rand(1,$amp);
while(in_array($nb,$res)) {
$nb = mt_rand(1,$amp);
}
$res[$i] = $nb;
}
return $res;
}
Jean-Luc
- La Chaise sauvage
- WRInaute impliqué

- Messages: 718
- Inscription: 11 Avr 2005
non, ça ne renvoie toujours pas 5 valeurs, mais un nombre aléatoire de valeurs... hmm
- La Chaise sauvage
- WRInaute impliqué

- Messages: 718
- Inscription: 11 Avr 2005
hop
(ta fonction comme la mienne assignaient une nouvelle valeur à $nb à chaque passage)
$mesnombres = distinctRand(5,30); renverra donc un array $mesnombres[] contenant 5 valeurs de 1 à 30
// edit : et par coquetterie, j'ai rajouté un paramètre optionnel $min, na :p
- Code: Tout sélectionner
function distinctRand($nb,$max,$min=1) {
$res = array();
for($i=0 ; $i < $nb ; $i++) {
$n = mt_rand($min,$max);
while(in_array($n,$res)) {
$n = mt_rand($min,$max);
}
$res[$i] = $n;
}
return $res;
}
(ta fonction comme la mienne assignaient une nouvelle valeur à $nb à chaque passage)
$mesnombres = distinctRand(5,30); renverra donc un array $mesnombres[] contenant 5 valeurs de 1 à 30
// edit : et par coquetterie, j'ai rajouté un paramètre optionnel $min, na :p
-

Serious - WRInaute passionné

- Messages: 2438
- Inscription: 21 Nov 2005
- Code: Tout sélectionner
array_slice(array_diff(array_rand(array(0,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),6),array(0)),0,5);
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Les Nombres de clics, nombres d'aticles par pages, et nombres de pages d'une recherche
- Annonce sur 2 blocs distincts
- Sous-domaines : hébergements distincts possibles ?
- 1 page et 2 noms de domaine qui doivent rester distincts
- Division d'un site en 2 sites distincts ou presque
- compter les clics sur 2 sites distincts
- Creation de deux sites distincts à partir d'un site... probleme avec Google?
- Parrainages aléatoires...
- Revenus aléatoires
- Générateurs de liens aléatoires
Consultez la description détaillée des produits ou services de Google suivants : Google Search By Number
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

