Rechercher : dans
Par :

Random en c++

Dernière réponse le 7 jun 2008 à 21:20:34 seer, le 13 avr 2005 à 20:56:06 
 Signaler ce message aux modérateurs

Bonjour a tous;
je souhaite connaitre comment génèrer un nombre aléatoire dans un intervale donné (entre 2 nombres) en C++ builder 6.
merci d'avance.

Meilleures réponses pour « random en c++ » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
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...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...

1

Luffy =), le 13 avr 2005 à 21:53:14

Salut =)

ça ne sert à rien de faire des mutli-posts en changeant de pseudo à chaque fois, ça changera rien ;-)

Et une p'tite recherche sur ton ami google donne cette page :
http://dejean.benoit.free.fr/code/rand.cpp.html

++

Répondre à Luffy =)

2

kij_82, le 14 avr 2005 à 09:40:42

Et puis l'ami Pom ta déjà donné la réponsed sur ton premier post, alors va voir...



++

Répondre à kij_82

3

random, le 14 avr 2005 à 14:56:36
  • +1

La fonction random renvoie un nombre compris entre 0 et 1
si tu veux générer un nombre entre 712 et 752 l'étendue est 40
il faut donc utliser
712 (base) + (40*random())
elle est pas belle, la vie ?

Répondre à random

4

Luffy =), le 14 avr 2005 à 18:59:37

Mais la fonction random() ne génère-t-elle pas un nombre PSEUDO-aléatoire ?

Répondre à Luffy =)

5

kij_82, le 14 avr 2005 à 19:03:49

Si si mais ... chhuuuut... faut pas l'dire trop fort ;)


(Pour y remédier, il faut initialiser le random avec une graine définié en fonction du temp système)


++

Répondre à kij_82

6

Luffy =), le 14 avr 2005 à 23:09:49

Lol =)

c'est bien ce qui me semblait. bon je ne le dirais plus c'est promis ;-)

Répondre à Luffy =)

7

pom, le 15 avr 2005 à 11:19:54

Si tu veux initialiser ton générateur de nb pseudo-aléatoire, utilise la fonction srand()

http://www.cplusplus.com/ref/cstdlib/rand.html
http://members.cox.net/srice1/random/crandom.html

voila

Répondre à pom

8

seer, le 18 avr 2005 à 18:46:43

Merci a tous
la fonction random() génère un nombre aléatoire entre 2 nombres (comme il a indiqué random) mais c que elle génère a chaque fois les memes nombres(apres l'execution du pg) mais c pas grave, ça me suffi et merci encore.

Répondre à seer

9

kij_82, le 18 avr 2005 à 19:09:07

C'est pour ca qu'on te dit d'utiliser srandom avec un graine basée sur le temps system.
La syntaxe doit être un truc du genre :
i = ??? // Ici tu chope ke temps system ou tu met un nombre qqconque.
srand(i);

ou alors, tu utilise randomize() qui se base sur le temps system directement.

Et bien sur tu n'oublie pas le #inclkude <stdlib.h>

et tu utilise ton rand() ensuite comme tu le fais déjà.

@+ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

10

SKZ, le 18 avr 2005 à 22:09:41

Attention, Kij, même initialiser la graine ne change rien au fait que le nombre est PSEUDO-aléatoire. En celà qu'il est calculé par un algorithme, donc éventuellement prévisible. Celà peux, dans certain cas "extrème" générer des interférences avec le programme qui utilise cet algo.
Ce genre de comportement est rare, mais peux arriver dans le cas où le programme utilise un nombre impréssionnant de valeurs aléatoire.
En effet, le nombre fini de valeurs possible pour une variable entraine fatalement que l'algo de génération des valeurs, qui se base sur les N dernières valeurs "tirées" va boucler à un moment ou à un autre. La plupart du temps N=2 est suffisant.

Le seul moyen connu pour générer véritablement du vrai hasard est d'utiliser un générateur quantique : un photon émis passe une parois réfléchissante de coéf 1/2. C'est à dire qu'il a 1 chance sur deux d'être réfléchi, ou de passer.
En fonction de là où on le détecte, on renvoit un 1 ou un 0.

Répondre à SKZ

11

kij_82, le 19 avr 2005 à 09:00:34

C'est vrai. Bah au moins il aura eu une vue globale du problème cette fois. :)

++ ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

12

random, le 19 avr 2005 à 09:25:15

Quand au fait que les suites soient pseudos aléatoires
la plupart du temps ce n'est gênant que conceptuellement
elle est pas belle, la vie ?

Répondre à random

13

Skyba, le 19 avr 2005 à 10:49:38

Il est aussi possible d'écrire toi meme ta fonction random mais le problème ne change pas le fait que ca restera du pseudo aléatoire vu que finalement ta fonction random reste une fonction ;)

Répondre à Skyba

14

Skyba, le 19 avr 2005 à 11:16:53

Il est aussi possible d'écrire toi meme ta fonction random mais le problème ne change pas le fait que ca restera du pseudo aléatoire vu que finalement ta fonction random reste une fonction ;)

Répondre à Skyba

15

shakal93, le 16 déc 2007 à 21:45:47

Je voulais savoir comment utiliser rand en C

Répondre à shakal93

16

 moh, le 7 jun 2008 à 21:20:34

Salut à tous,moi étudiant en informatique ;je cherche sur le code source de fonction rand() sous linux merci d'avance

Répondre à moh