[C] rand()

rand() [C] - Programmation

Marsh Posté le 31-01-2001 à 20:35:00    

Bon, je suis débutant et je suis en plein dans le tri de données ds un tableau ( par exemple des entiers )
 
Je me dis tiens, je vais faire une tite fonction simu qui va me remplir tout ca aléatoirement
 
voila ce que ca donne
 
#include<stdlib.h>
 
...
...
 
fonction simu qui prend un tableau d'entier en parametre
//
for(i=0;i<=tavaleur;i++)
    {
    t[i]=rand() %100 //%100 par exemple
    }
...
//
 
Bon c cool ca marche, mais à chaque fois, ca me donne exactement la même suite, à chaque exécution je retrouve les memes entiers aux mêmes place, y'a pas moyen de randomiser tout ca ? :D
 
Merci à ceux qui voudront bien m'éclairer

 

--Message édité par Evadream -jbd---

Reply

Marsh Posté le 31-01-2001 à 20:35:00   

Reply

Marsh Posté le 31-01-2001 à 20:50:16    

Ajoute un srand avant la boucle.
La syntaxe c'est srand(unsigned int)

Reply

Marsh Posté le 31-01-2001 à 20:55:33    

Oui je veux bien, mais ce srand faut bien que je l'initialise à une valeur, non ?
 
Et a chaque fois, c pareille, les nombres générés sont les memes
 
Une autre idée ?

 

--Message édité par Evadream -jbd---

Reply

Marsh Posté le 31-01-2001 à 20:57:49    

euh j'ai pas précisé, le paramètre c'est la valeur qui va servir de base pour regénérer une séquence aléatoire.
 
Pour ne pas obtenir la même séquence à chaque fois utilise une valeur de temps (time ou autre).
 
oilà.

Reply

Marsh Posté le 31-01-2001 à 20:58:50    

Essaie srand(time(0))

Reply

Marsh Posté le 31-01-2001 à 21:01:15    

Ca marche, merci bcp !

Reply

Sujets relatifs:

Leave a Replay

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