Bonjour,
j'aurais besoin de générer un réel aléatoire qui soit compris entre deux réels.
Existe-t-il une fonction en C qui fait ceci ?
Merci
Bonjour,
j'aurais besoin de générer un réel aléatoire qui soit compris entre deux réels.
Existe-t-il une fonction en C qui fait ceci ?
Merci
Salut,
bien sûr qu'il est possible de générer un nombre aléatoire en C. Tu dois d'abord inclure le header C <stdlib.h>. Puis, la fonction rand() te retourne un nombre aléatoire (ou plutôt pseudo-aléatoire) entre 0 et RAND_MAX). Tu peux donc aisément manipuler ces informations à l'aide d'opérations telles que :
pour obtenir les nombres désirés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 nombreAleatoire = rand() % NBRE_MAX //retourne un nombre pseudo-aléatoire entre 0 et NBRE_MAX
Si tu veux un nombre "plus aléatoire", utilise la racine srand() qui peut générer des nombres aléatoires à partir de l'horloge de ton ordinateur par exemple.
Pour plus de détails, jette un coup d'oeil ici :
http://c.developpez.com/faq/?page=no..._random_bornes
ATTENTION, ce que tu vas générer avec ces fonctions sont des nombres pseudo aléatoires.
Il sont générés à l'aide d'une formule mathématique (congruence) et donc peuvent être prédictibles.
Question : que veut tu faire avec ces nombres aléatoires :
- pour un jeu et avoir des déplacements aléatoires, cela peut suffire
- pour de la cryptographie, il sont définitivement pas assez aléatoires, il va falloir te tourner vers d'autres choses
Pour la crypto, les nombres aléatoires possèdent aussi des contraintes de 'forme'. Je n'ai vu dans les applis indus que l'utilisation de hard dédié et jamais de soft pour générer de l'aléatoire fiable par rapport des problématiques de crypto.
Dans les applications hors industrie, on peut utiliser le Mersenne Twister qui a l'avantage d'une grande période et est souvent dans bien des cas plus rapide que drand48().
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager