Gamoover

Vous aimez GAMOOVER ? Vous avez trouvé la perle rare grâce à notre forum ?
Alors pourquoi pas nous soutenir en effectuant un petit don Paypal sur : contribution@gamoover.net
C'est peut être un détail pour vous, mais nous, ça nous aiderait beaucoup !

Debuter la programmation en C

Démarré par 9uile, Lundi 29 Novembre 2010, 15:25:17 PM

Shoryu

J'ai aussi commencé le C avec le Site du Zér0 :)

Par contre, les pointeurs, c'est une vraie plaie, d'ailleurs, Little_Lapinou, tu proposais des exercices, si tu en as sous le coude pour pratiquer du pointeur, je suis preneur...

A mon avis, c'est la seule méthode pour intégrer les différences entre variable, *variable, etc.
Faut en bouffer ! ^-^

pitufo

Citation de: High_Cobra le Jeudi 02 Décembre 2010, 11:16:34 AM
Il existe des balises [url] [/url]

autant s'en servir...

c'est ce que j'ai fait.........................................

Little_Rabbit

Citation de: Shoryu le Jeudi 02 Décembre 2010, 11:22:25 AM
Par contre, les pointeurs, c'est une vraie plaie, d'ailleurs, Little_Lapinou, tu proposais des exercices, si tu en as sous le coude pour pratiquer du pointeur, je suis preneur...
Ben volontiers, mais on va attendre encore un peu, histoire d'aborder d'autres notions (tableaux, structures, etc.) avant de voir les pointeurs ! :)

Et puis je n'ai pas touché à un compilateur C depuis... heu... genre 1997 ou 1998 ! Il va falloir que je m'y remette pour me rafraîchir la mémoire !...  :-\
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

9uile

j'ai trouvé un 'bug ???' dans la partie qui genere le chiffre aléatoire.
Si je mets MIN=0 et MAX=1000000 (c'est un ex...) les chiffres retournés sont souvent plus proche de 1 que de 1000000 !!!

Et ca c'est pas vraiment le fait du HASARD !! !

Du coup, je developpe une fonction qui va faire des vrais chiffres au pif.
(sachant que le hasard n'existe pas en informatique !)

ɐɹqoƆ‾ɥƃᴉH

Attention, c'est très dur de faire de la vrai génération de nombres aléatoires... Il existe des systèmes très complexes (et très cher) pour faire ça... Et pas sur que ta fonction perso soit plus performante qu'un rand( )...

Zorg

Citation de: Sir Kayne le Mercredi 01 Décembre 2010, 20:13:19 PM
Real programmers don't use LISP. Only effeminate programmers use more parentheses than actual code.  :D

excellent langage pour apprendre bon nombre des concepts de base.
Besoin de graph ?
http://vectorlib.free.fr

tiré de mame.xml
<game name="puckman" sourcefile="pacman.c">
<game name="pacman" sourcefile="pacman.c" cloneof="puckman" romof="puckman">
cqfd :: Pacman est bien un clone

BigPanik

Citation de: 9uile le Jeudi 02 Décembre 2010, 14:42:50 PM
(sachant que le hasard n'existe pas en informatique !)

Pourtant le nombre de fois que mes PCB ont lâché "par hasard"...

BP

9uile

Citation de: High_Cobra le Jeudi 02 Décembre 2010, 15:01:52 PM
Attention, c'est très dur de faire de la vrai génération de nombres aléatoires... Il existe des systèmes très complexes (et très cher) pour faire ça... Et pas sur que ta fonction perso soit plus performante qu'un rand( )...

Euh, je ne compte pas révolutionner les jeux de loteries !!!
C'est juste que les résultats doivent être un minimum credible.

J'expliquerai ça quand j'aurai fini ma fonction...

edit : j'utilise quand même rand() dans ma fonction  ;)

BigPanik

rand() utilise la constante RAND_MAX définit dans stdlib.h comme valeur maxi.

Tu as augmenté cette valeur (par défaut 32767)?

BP

9uile

#57
 :D

Pas du tout je suis monté à 1 000 000 000 !!

=:)) =:)) =:))

C'était pour tester si ça marchait bien. Bah ça marcho pô  :P
Du coup j'ai trouvé un autre moyen nickel. Il faut que je finisse la fonction.
Je vous montrerai les résultats renvoyés pour pas que vous soyez influencés par le code.

Vous pouvez d'ailleurs me demander de generer une suite de nb aléatoire, pour voir  ;D


ɐɹqoƆ‾ɥƃᴉH

Tout dépends ce que tu fais dans ta fonction, ça ne sera pas forcément mieux que rand, et sans doute pire même... rand est tout à fait adapté pour faire des nombres aléatoires... Prends un très gros échantillon et vérifie la répartition, tu verras...

9uile


ɐɹqoƆ‾ɥƃᴉH

vas-y, génère 500.000 nombres compris entre 1 et 1000 avec les 2 méthodes et on étudiera la répartition... Et encore, ça ne sera pas forcement représentatif :D :D

9uile

#61
Bon j'suis désolé mais vu que la sortie n'est pas copiable/collable en état, j'ai fait uniquement 50 chiffres sur 3 digits (de 0 a 999)




:-)= :-)= :-)=

dapsaille


Little_Rabbit

Citation de: BigPanik le Jeudi 02 Décembre 2010, 15:40:53 PM
rand() utilise la constante RAND_MAX définit dans stdlib.h comme valeur maxi.

Tu as augmenté cette valeur (par défaut 32767)?

BP

Effectivement, comme le dit BP, il faut voir dans quel champ elle travaille cette fonction. Si par exemple ce RAND_MAX est prévu pour être un 16 bits signé, c'est un peu normal que 1 million ne lui fasse ni chaud ni froid ! Si tu mets un argument plus long (en bits) que celui attendu, il va être tronqué...

Avant de tirer des conclusions hâtives, vérifie bien la nature et la taille des arguments et celui du résultat. Pour ta graine, utilise un truc qui varie, genre le nombre de millisecondes écoulées dans la seconde courante, ou quelques chose en rapport avec la température du proc...
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room