question en c: (random et erreur de segmentation).. aidez moi :-)

question en c: (random et erreur de segmentation).. aidez moi :-) - Programmation

Marsh Posté le 02-01-2002 à 18:29:47    

voila, je fais un programme en c..
 
et j'ai un pb: le rand:
ne fais pas vraiment un vrai hasard
en effet, j'utilise rand() % nombre
et je voudrais savoir si il n'y a pas une fonction qui renvoie
ou qui utilise ceci pour avoir vraiment un nombre au hasard..
ou bien si il y a peut etre une initialisation à faire(randomize en turbo pascal)..;
 
voila
sinon, une autre question
j'ai mon programme qui marque erreur de segmentation durant l'execution
est ce que qq sait de quel erreur il s'agit?
je pense à une erreur concernant les pointeurs...peut etre..
 
répondez moi si vous savez la réponse s'il vous plait
ça m'aideras beaucoup....
MERCI


---------------
Il les a tuées avec leur amour, c'est comme ça tous les jours, partout dans le monde entier....
Reply

Marsh Posté le 02-01-2002 à 18:29:47   

Reply

Marsh Posté le 02-01-2002 à 18:45:23    

segmentation fault c'est l'erreur
par defaut sous unix => si tu ne nous donne
pas plus de details on ne peut pas t'aider.
(indice: ton programme est plante...)
 
A+
LEGREG

Reply

Marsh Posté le 02-01-2002 à 18:53:25    

c'est une variante du jeu de la vie
 
ex: quand je dois rentrer une dimension d'un terrain ex 22*33 dans la liste des paramétres
si je mets 200*33 et bien ça marque erreur segmentation..
 
faut plus de précision?


---------------
Il les a tuées avec leur amour, c'est comme ça tous les jours, partout dans le monde entier....
Reply

Marsh Posté le 02-01-2002 à 18:56:59    

donne ton code source!!
 
Autrment pour rand() il faut que tu la connecte à qqc de variant ds le système (ex l'horloge du SE). Mais je ne sait pas comment faire.


---------------
From Pymousses.
Reply

Marsh Posté le 02-01-2002 à 18:59:52    

ddpforman a écrit a écrit :

c'est une variante du jeu de la vie ex: quand je dois rentrer une dimension d'un terrain ex 22*33 dans la liste des paramétres
si je mets 200*33 et bien ça marque erreur segmentation..
faut plus de précision?  




 
c'est un peu comme si je te disais:
tiens j'ai un objet dans ma main droite
et il n'est pas jaune:
tu as une idee de ce que c'est ?
parfois ca m'amuse de jouer
au schmilblick mais parfois c'est lourd..
 
LEGREG

Reply

Marsh Posté le 02-01-2002 à 19:02:46    

vraiment désolé.. je sais pas quoi dire de plus..
mais si tu veux, je peux t'envoyer le programme en c
et puis si tu as le temps et si tu veux le voir pour m'aider..
maintenant, sinon, ben c pas grave...  
merci quand meme... alors?


---------------
Il les a tuées avec leur amour, c'est comme ça tous les jours, partout dans le monde entier....
Reply

Marsh Posté le 02-01-2002 à 19:04:31    

L'erreure de segmentation sous UNIX signifie que ton prog a essayé d'accédé à une zone de la mémoire qui ne lui est pas attribuées, typiquement t'essaye de regarder à l'adresse 0, ou tu as un tableau de 100 octets et t'essaye de regarder au 101eme

 

[edtdd]--Message édité par letoII--[/edtdd]

Reply

Marsh Posté le 02-01-2002 à 19:10:36    

ah merci.. ça doit etre donc une histoire avec les pointeurs.. ou peut etre les tableaux que j'utilise oui.. merci beaucoup...


---------------
Il les a tuées avec leur amour, c'est comme ça tous les jours, partout dans le monde entier....
Reply

Marsh Posté le 02-01-2002 à 19:26:16    

Pour rand si tu veux rendre le truc plus aléatoire il est conseillé de changer la graine de temps à autre et par exemple en prenant l'heure système, pour celà utilise srand.
De toute manière il faut savoir que le générateur de nombre aléatoire de rand n'est pas exceptionel, d'autant plus qu'il doit changer d'un système à l'autre si ça se trouve, mais bon il est suffisant pour des petits prog

Reply

Marsh Posté le 02-01-2002 à 19:40:53    

d'accord, je vais y jeter un coup d'oeil :-)  
merci beaucoup beaucoup :-)
byebye


---------------
Il les a tuées avec leur amour, c'est comme ça tous les jours, partout dans le monde entier....
Reply

Sujets relatifs:

Leave a Replay

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