généré et placé

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 : généré et placé

Re: généré et placé

par guilt92 » 11 oct. 2017, 18:19

Bonjour,

J'ai l'impression que vous prenez le problème par le mauvais bout.

Le but semble être d'associer 0 à 3 sports aléatoires à chaque élève. Vous pouvez avoir une approche par classe ou par tableau mais peu importe, à mon avis le fonctionnement est le suivant:

- Avoir un tableau multidimensionnel de 60 élèves, et associer à chaque élément de ce tableau de 0 à 3 sports.

Ensuite, pour compter les statistiques, il suffira de parcourir ce tableau.

Cela semble plus logique de faire d'abord la structure et ensuite les statistiques, sinon les nombres aléatoires ne seront pas cohérents.

Pas à pas :

Créer un tableau simple avec les 5 sports

Code : Tout sélectionner

$sports = array("boxe", "tennis", "velo", "piscine", "foot");

Ensuite, initialiser un tableau "eleves". Puis, dans une boucle qui va de 0 à 59 :
  • Déterminer le nombre de sports (par un random entre 0 et 3) N
    Associer N sports (via un random dans le tableau sports, attention à ne pas prendre deux fois le même) à l'élève
    Au passage, stocker le nombre de sports pour les statistiques (ou le faire après dans une nouvelle boucle) (par exemple dans un tableau count_sport qui a comme entrée "1 sport", "2 sports"...., et, en fonction du random, on incrémente)
Bon courage,

Re: généré et placé

par guilt92 » 11 oct. 2017, 18:19

Bonjour,

J'ai l'impression que vous prenez le problème par le mauvais bout.

Le but semble être d'associer 0 à 3 sports aléatoires à chaque élève. Vous pouvez avoir une approche par classe ou par tableau mais peu importe, à mon avis le fonctionnement est le suivant:

- Avoir un tableau multidimensionnel de 60 élèves, et associer à chaque élément de ce tableau de 0 à 3 sports.

Ensuite, pour compter les statistiques, il suffira de parcourir ce tableau.

Cela semble plus logique de faire d'abord la structure et ensuite les statistiques, sinon les nombres aléatoires ne seront pas cohérents.

Pas à pas :

Créer un tableau simple avec les 5 sports

Code : Tout sélectionner

$sports = array("boxe", "tennis", "velo", "piscine", "foot");
Ensuite, initialiser un tableau "eleves". Puis, dans une boucle qui va de 0 à 59 :
  • Déterminer le nombre de sports (par un random entre 0 et 3) N
    Associer N sports (via un random dans le tableau sports, attention à ne pas prendre deux fois le même) à l'élève
    Au passage, stocker le nombre de sports pour les statistiques (ou le faire après dans une nouvelle boucle) (par exemple dans un tableau count_sport qui a comme entrée "1 sport", "2 sports"...., et, en fonction du random, on incrémente)
Bon courage,

généré et placé

par quattro » 02 oct. 2017, 12:24

Bonjour
Pour un exercice, je dois attribuer des élèves dans un sport. Il y a 5 sports : boxe,tennis,piscine,vélo,foot. il y a au total 60 élèves.
un élève peu faire 1 ou 2 ou 3 ou 0 sports. comment généré cela ?
Moi j'ai commence par un code :

Code : Tout sélectionner

<?php /* je génère le Nb délève total pour 1 école */ $nbeleve = rand(90,100);/* 90 pour pas etre en dessous de 90 élèves dans l'école*/ echo 'Il y a : '.$nbeleve.' élèves dans cette école'.'<br />'; /* je génère ceux qui font au moins 1 sport et plus, et ceux qui font 0 sport */ $nbsportif = rand(80,$nbeleve);/* 80 pour pas etre en dessous de 80 élèves non sportif*/ $nonsportif = $nbeleve - $nbsportif; echo 'Il ya : '.$nbsportif.' pratiquant au moins <strong>1 sport</strong>, et '.$nonsportif.' pratiquant <strong>aucun sport.</strong>'.'<br />'.'<br />'; echo 'Ils sont répartis de la façon suivante : '.'<br/>'; /* je génère ceux qui font 1,2 ou 3 sport */ $unsport = rand(60,$nbsportif);/* 1 sport */ echo $unsport. ' élèves font 1 sport'.'<br />'; $resteun = $nbsportif - $unsport; $deuxsport = rand(1,$resteun);/* 2 sports */ echo $deuxsport. ' élèves font 2 sports'.'<br />'; $restedeux = $resteun - $deuxsport;/* 3 sports */ echo $restedeux. ' élèves font 3 sports'.'<br />'; ?>