Rechercher : dans
Par :

[Langage C] Comment écrire un dé aléatoire ?

Dernière réponse le 29 oct 2009 à 12:46:46 UNIX/VI/SHELL, le 1 avr 2007 à 16:13:03 
 Signaler ce message aux modérateurs

Bonjour, je voudrais savoir comment écire un systeme de dé aléatoire, qui permette au programme de choisir un nombre, puis de le tester, puis ensuite de continuer l'execution du programme selon le nombre.

Merci de l'aide.

Configuration: Mac OS X
Safari 419.3

Meilleures réponses pour « [Langage C] Comment écrire un dé aléatoire ? » dans :
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...
Caractéristiques du langage C VoirLe fichier source Le fichier source d'un programme écrit en langage C est un simple fichier texte dont l'extension est par convention .c. Note d'un visiteur (J.Grondin) : L'extension est en minuscules. Le .C (majuscule) est interprété par...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...

1

Yann, le 1 avr 2007 à 17:00:23

Salut !

Pour générer un nombre aléatoire en C, tu peux utiliser la fonction rand(), initialisée au moyen de la fonction srand(). Ces deux fonctions sont décrites dans l'en-tête <stdlib.h>.

// la bibliotheque qui contient les fonctions srand() et rand()
#include <stdlib.h>

// fonction d'initialisation
void srand (unsigned int);

// le nombre aléatoire que tu veux
int nombre_aleatoire;
// la valeur minimale du nombre
int borne_inf = 1;
// la valeur maximale
int borne_sup = 6;

// le tirage : nombre_aleatoire appartient à l'ensemble [borne_inf , borne_sup]
nombre_aleatoire = borne_inf + (int) ((float) rand() * (borne_sup - borne_inf + 1) / (RAND_MAX+1.0));


Note que le paramètre à passer à ta fonction srand, la graine, doit changer à chaque fois que tu exécute le programme. On utilise habituellement l'heure actuelle du systeme, mais je ne me souviens pas de la syntaxe exacte, recherche dans la bibliotheque time.h je crois, désolé de ne pas être plus précis.

Pour poursuivre l'exécution de ton programme en fonction de la valeur générée, tu peux utiliser une suite de if :

if (nombre_aleatoire == 1)
{// instructions}
else if (nombre_aleatoire == 2)
{// instructions}
/* etc... */


ou alors un switch :

switch(nombre_aleatoire)
{
    case 1 :
	// instructions
	break;

    case 2 :
	// instructions
	break;
	
	/* etc... */

    default :
	// traitement par défaut
}


Voilà j'espère que ça t'aura été utile...
Bonne continuation.

Yann

Répondre à Yann

2

UNIX/VI/SHELL, le 1 avr 2007 à 17:04:30

Merci c'est ce qu'il me fallait !

Merci !

Répondre à UNIX/VI/SHELL

3

_Yann_, le 1 avr 2007 à 17:07:02

Je t'en prie c'est toujours un plaisir de rendre service ! ^^

Répondre à _Yann_

4

mido94800, le 18 jun 2008 à 15:46:52

Sil vou plé jvoudré ke kelkun maide! cé tré urgent! dan le domaine du langage C!!
jé 2 DS (controle) et jvoudré ke kelkun me lé fasse ou maide a lé faire!
MERCI!!

Répondre à mido94800

5

 tom, le 29 oct 2009 à 12:46:46
  • +1

Bonjour j'aurais aimé savoir comment distribuer aleatoirement 5 lettres bien defines dans un tableau 15*15
merci d'avance

Répondre à tom
Collection CommentÇaMarche.net