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
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
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.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
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().
Partager