[C++] Problème avec random

Problème avec random [C++] - Programmation

Marsh Posté le 09-06-2001 à 14:30:24    

J'ai fais un petit programme qui sort 10 chiffres au hasard entre 0 et 10. Comme je le craignais, les 10 chiffres sont égaux lorsque je lance le programme. Voici le code:
 
#include <iostream>
using namespace std;
#include <time.h>
 
int random()
{
 int x;
 srand(time(0));
 x = rand()%10;
 
 return x;
}
 
int main()
{
 for (int x = 0 ; x < 9 ; x++)
 {
  int nombre;
  nombre = random();
  cout << nombre << endl;
 }
 
 while (1)
 {
 }
 
 return 0;
}
 
Que faut-il faire pour avoir des chiffres différents?

Reply

Marsh Posté le 09-06-2001 à 14:30:24   

Reply

Marsh Posté le 09-06-2001 à 14:32:31    

ne pas utiliser srand dans ta fonction random.

 

[edit]--Message édité par Verdoux--[/edit]

Reply

Marsh Posté le 09-06-2001 à 14:45:04    

Si je ne met pas srand(time(0)) j'ai bien plusieurs chiffres différents mais ce sont les mêmes à chaque fois que je lance le programme. Et je souhaiterais avoir tout le temps des chiffres différents...

Reply

Marsh Posté le 09-06-2001 à 14:56:24    

Ben tu mets srand dans le main.
Là le srand initialise le générateur de la même façon à chaque fois puisque la granularité de time est la seconde et ton prog dure largement moins que ça.

 

[edit]--Message édité par Verdoux--[/edit]

Reply

Marsh Posté le 09-06-2001 à 15:08:16    

Ca marche impec.
Merci :)

Reply

Marsh Posté le 10-06-2001 à 08:12:35    

tu linitialises sur le timer si mes souvenirs sont bons
srand(timer);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed