Se connecter avec
S'enregistrer | Connectez-vous

Generation de nbres aléatoires (en attente d'une dernière réponse)

Dernière réponse : dans Programmation

Bonjour à tous !

Ce petit programme m'affiche 346 à chaque compilation.

Comment puis-je faire pour avoir des nbres aléatoires à chaque exécution?

Mon but est de générer deux nbres aléatoires au sein de mon programme et de passer ces deux nbres en paramètre d'une fonction...

Quelqu'un a-t-il une idée pour faire cela ?
La fonction rand() permet-elle de faire cela ?
Merci !!

#include <stdlib.h>
#include <stdio.h>

int rand(void);

main()
{
printf("%d",rand());
}
Lassé par la pub ? Créez un compte

Parfait merci !

Mais est-il possible de fixer une cste à ne pas dépasser afin de ne pas avoir de nbre aléatoire astronomique ?

Et je suppose que c'est le même code sous linux ?
(fonction rand et srand)

Expert Programmation

Ce sont des fonctions standards donc sous linux c'est pareil.
rand() te retourne un nombre compris entre 0 et RAND_MAX. Il te suffit de faire les calculs nécessaires pour le ramener dans un intervalle [a, b].
Expert Programmation

si tu veux un nombre entre a et b compris:
int de = (int) (((double) rand()) / RAND_MAX * (b - a + 1)) + a;

si tu veux faire le tirage d'un dé de 1 à 6:
int de = (int) (((double) rand()) / RAND_MAX * 6) + 1:

Il faut convertir en double pour faire les calculs à virgule car en int la division par RAND_MAX donnerait 0
Lassé par la pub ? Créez un compte
  • Contenus similaires :
Tags :
Tom's guide dans le monde