Pour repondre a la question du monsieur, visiblement il fait un srand a chaque tour de boucle, ce qui expliquerait ces changements periodiques.
Le srand doit etre declare "en debut" de programme et il ne faut plus y toucher. Si tu en fais une utilisation serieuse/poussee, change de generateur, le standard est mauvais (google mersenne twister, tu auras un generateur valable).