Page 1 of 2

De l'aléatoire avec Ndless

Unread postPosted: 25 Apr 2011, 19:05
by Chockosta
Bonjour,

Je programme avec Ndless, et j'aurais besoin d'une simple fonction aléatoire.
Seulement : où trouver une graine pour initialiser ?

Merci...

Re: De l'aléatoire avec Ndless

Unread postPosted: 25 Apr 2011, 19:26
by critor
Tu peux prendre toujours la même graine (0 par exemple), ou la baser sur l'heure courante (il y a bien le cristal en question dans la Nspire).

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 08:56
by Chockosta
Ça je m'en doute :)
J'ai mal formulé ma question.

Où, dans la mémoire, pourrais-je trouver un octet qui puisse servir de graine ? (genre le timer)

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 09:53
by Lionel Debroux
Il y a trois timers, regarde sur Hackspire :):

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 10:12
by Chockosta
Merci :)

Et... euh... j'ai honte...
Comment donner directement à un int une valeur contenue dans la mémoire ? :s:
Du genre
Code: Select all
uint32_t seed = *(90010000);
mais ça ne marche pas...

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 10:25
by critor
C'est une adresse hexa?

Si oui:
Code: Select all
uint32_t seed = *(0x90010000);


De plus, pour utiliser une adresse non allouée dans le programme, je crois qu'il faut le préfixe volatile.

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 10:40
by Chockosta
Ah oui... C'est juste.
(Honte à moi d'avoir oublié le 0x)
Mais...
Code: Select all
uint32_t seed = *(volatile unsigned*) 0x90010000;
nemarche pass non plus, et la pourtant je vois pas pourquoi.
Le compilateur me dit :
initializer element is not constant

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 12:39
by critor
Ton initialisation s'effectue où?
Dans une fonction/méthode? en dehors?

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 12:54
by Chockosta
Variable globale...
Je peux la passer dans le main, et la passer en argument a ma fonction aléatoire...

Re: De l'aléatoire avec Ndless

Unread postPosted: 26 Apr 2011, 13:03
by Lionel Debroux
Oui, mais justement, tu ne peux pas l'initialiser comme ça - on n'est pas en Java, ici :;):
Il faut que tu l'initialises au début de ton main.