Tirage aléatoire et incrémentation d'un nombrdans un tableau!! - C - Programmation
Marsh Posté le 04-11-2008 à 20:08:42
Alors, plusieurs remarques en vrac :
Code :
|
(unsigned == entier non signé. Tu indiques ici explicitement dans ton code que tu ne travailles pas avec des nombres négatifs, mais si tu préfères tu peux utiliser int, ça n'a pas de conséquence ici)
Tu devrais avoir tous les éléments pour terminer ton exercice maintenant.
Marsh Posté le 04-11-2008 à 20:17:51
Merci pour ton aide et tes conseil avisés je m'en vais de suite essayé et je reviens en cas de probleme.
Marsh Posté le 04-11-2008 à 20:59:47
ceto13 a écrit : * Pour retenir le nombre de tirages effectués, tu dois stocker les différents résultats, dans un tableau. Tu dois donc mémoriser combien de fois chaque tirage a été obtenu, il te faut donc au moins 6 cases. Donc, résumons : déclarer un tableau d'entiers de 6 cases, initialiser chaque case à 0, puis incrémenter la bonne case en fonction du tirage obtenu. Ce petit bout de code devrait t'aider :
|
Désolé mais en feit je ne maitrise pas du tout ces notions et je ne comprend donc pas leur utilisation. Du coup j'ai utilisé une autre méthode qui me semble néanmoins pas très pratique pourrais tu me donner ton avis stp.
Code :
|
Marsh Posté le 04-11-2008 à 21:37:29
L'exercice indique qu'il faut utiliser un tableau. Surtout que là c'est un dé de 6, mais si tu lances des dés de 100, tu ne vas quand même pas créer 100 variables ?
Un petit lien trouvé vite fait et qui me semble bien résumer l'affaire : http://inferno.cs.univ-paris8.fr/~ [...] urs-7.html
Marsh Posté le 10-11-2008 à 08:23:18
Hormis le tableau, regarde ce que fait le couple if/ else if.
Dans ton cas j'aurai aussi remplace les if / else if par un switch car c'est bien plus rapide mais comme le dit Elmoricq tu dois utiliser un tableau
Aussi si N == 0 tu as une boucle infinie (de meme pour toute 'fausse' valeur)
Marsh Posté le 10-11-2008 à 15:13:32
en pseudo code
uint tab[MAX]
for ()
{
int rand = rand(MAX)
tab[rand]++
}
Marsh Posté le 04-11-2008 à 19:38:39
Bonjours à vous. Je suis quelque peux en galère vis à vis d'une programme que je dois créer en C.
En fait l'énoncé est le suivant :
Ecrire un 1er programme qui réalise N lancers d'un seul dé et qui calcule la distribution des valeurs obtenues, c.à.d. le nb de fois où chacune des six faces apparait au cours des N lancers. Vous définirez pour cela un tableau d'entiers dont vs incrémenterez la case i chaque fois que la face i est obtenue. Pr terminé, vous afficherez le contenu du tableau
Pour la premiere parti pas de souci puisqu'en effet je maitrise désormais les commandes Srand et do...while.(Je sais rien de bien compliqué) par contre pour le tableau je ne comprend pas bien ce qui m'est demandé.
voila pour le moment ce que moi j'ai fait :
Attention je ne demande pas une réponse car là n'est pas le but ce que je voudrais c'est comprendre ce qui m'est demandé et savoir comment je peux arriver par la suite à repondre aux exigences posées dans l'énoncé.
Ainsi je vous remercie d'avance de bien vouloir me faire partager vos connaissance en la matiere.
Édité par Elmoricq : ajout des balises code pour plus de lisibilité.
Message édité par Elmoricq le 04-11-2008 à 20:00:50