Nombre aléatoire

Fermé
toyia Messages postés 158 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 9 août 2013 - 30 juin 2011 à 06:29
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 6 juil. 2011 à 21:25
Bonjour,

je souhaiterais savoir comment faire pour générer un nombre aléatoire comme si on lançait un dé. Par contre si vous savez, essayer de m'expliquer ca simplment car je n'y connais rien.
Merci d'avance:)
Toyia

6 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 018
30 juin 2011 à 06:40
Avec quel langage de programmation ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
2 juil. 2011 à 11:40
Bonjour,

Sans parler de tel ou tel langage, précise de quel logiciel tu disposes sur ta bécane
par exemple microsoft office Word, Excel... ou open office ou...
si tu n'as pas d'icones sur le bureau: demarrer, tout les programmes
0
Utilisateur anonyme
6 juil. 2011 à 21:04
en c++:
#include <cstdlib>
#include <time.h>
int main()
{

int nballeatoire(0); //on crée un type de donné qui enregistreras le nombre
const int max = 6 , min = 1; //on dit au pc de generer un nombre au hasard entre 1 et 6

srand(time(NULL));
nballéatoire = (rand() % (max - min + 1)) + min;

return 0;
}
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 018
6 juil. 2011 à 21:25
Sur le principe je suis d'accord, mais cependant
1) ton code ne compilera pas à cause des erreurs
2) même s'il marchait il n'afficherait rien donc l'intérêt est nul
3) ce n'est pas du C++ mais du C

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

int alea(int min,int max)
{
	return min+rand()%(max-min+1);
}

int main() 
{
	srand(time(NULL));

	printf("%d\n",alea(1,6));

	system("PAUSE");
	return 0; 
}
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
30 juin 2011 à 06:43
C'est en fait très simple, tous les compilateurs intègrent une fonction du type 'Random', 'Randomize', etc...
Mais c'est du pseudo-aléatoire, c'est à dire que pour la même initialisation, la suite sera identique.
Quant à l'aléa 'réel', lui, est très compliqué à obtenir...
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
30 juin 2011 à 11:21
Le code depend du langage utilisé, exmple en Pascal

Program Nombres_Aleatoires;
var X, R : Integer;
begin
X := 100;
Randomize;
R := Random(X);
Write(R);
ReadLn;
// Le nombre R est generé dans l'etendue 0..99
end.

Pour afficher une serie de nombres il suffit de faire l'appel dans une boucle
toutefois le genérateur ne prend pas en compte si un nombre generé est recurrent, pour n'afficher que des nombres distincts il faut recourir à une technique de memorisation et d'exclusion.

Program Nombres_Aleatoires;
Const Cycle = 7;
var X, R, I : Integer;
begin
X := 100;
Randomize;
for I := 1 to Cycle do begin
R := Random(X);
Write(R, ', ');
end;
// La serie de nombres R generés peut contenir des doublons
ReadLn;
end;
-1
toyia Messages postés 158 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 9 août 2013
2 juil. 2011 à 07:37
comment on fait pour créer le programme? dsl je n'y connais rien du tout
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
2 juil. 2011 à 08:34
On utilise un compilateur...
0
toyia Messages postés 158 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 9 août 2013
6 juil. 2011 à 07:50
pourrais-tu m'en citer un svp?
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
6 juil. 2011 à 08:04
En citer qu'un serait très réducteur, et je te conseille plutôt de poser une nouvelle question sur le sujet, ce qui vaudra une déferlante de réponses...
Perso j'utilise Delphi 6.0, en langage pascal, que tu peux trouver gratuitement à cette adresse :
https://www.commentcamarche.net/telecharger/developpement/langages/
mais bon, on a tendance à préconiser ce que l'on maitrise le mieux, d'où l'intérêt de poser une nouvelle question et obtenir des avis variés...
0
toyia Messages postés 158 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 9 août 2013
6 juil. 2011 à 18:28
merci
0
En programmation, peut importe le type de langage, il est presque impossible de faire des sélections de nombre réellement aléatoires.
Tu peux essayer de tricher avec des algorithmes permettant d'éviter que la sélection soit la même à chaque lancement du programme, et éviter de revenir trop souvent sur le même nombre pour rendre plus aléatoire ta sélection. Mais c'est pas avec la fonction Random que tu vas t'en sortir :p
John
-1