Auteur Sujet: Debuter la programmation en C  (Lu 11849 fois)

Hors ligne Shoryu

  • Intéressé
  • *
  • Messages: 18
  • Localisation: Vosges
    • Voir le profil
Debuter la programmation en C
« Réponse #48 le: Jeudi 02 Décembre 2010, 11:22:25 am »
  • 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 ! ^-^

    Hors ligne pitufo

    • Toufaises !
    • Game Cheater
    • *
    • Messages: 2413
    • Localisation: neuf cinq en force
    • ...
      • Voir le profil
    Debuter la programmation en C
    « Réponse #49 le: Jeudi 02 Décembre 2010, 11:28:16 am »
  • Il existe des balises [url] [/url]
    autant s'en servir...

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

    Hors ligne Little_Rabbit

    • ✌(◕‿◕)✌ Donateur 2019
    • Dieu de l' Arcade
    • *
    • Messages: 5356
    • Localisation: Nantes
    • The early 80's : the arcade golden age !!
      • Voir le profil
    Debuter la programmation en C
    « Réponse #50 le: Jeudi 02 Décembre 2010, 14:05:11 pm »
  • 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

    Hors ligne 9uile

    • Scotché
    • *
    • Messages: 460
      • Voir le profil
    Debuter la programmation en C
    « Réponse #51 le: Jeudi 02 Décembre 2010, 14:42:50 pm »
  • 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 !)

    Hors ligne ɐɹqoƆ‾ɥƃᴉH

    • Webmaster
    • Dieu de l' Arcade
    • *****
    • Messages: 12077
    • Je suis juste un multi-nick d'AsPiC...
      • Voir le profil
    Debuter la programmation en C
    « Réponse #52 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( )...

    Hors ligne Zorg

    • Vectoriseur fou
    • Dieu de l' Arcade
    • *
    • Messages: 5472
    • Localisation: Issy les Moulineaux
    • Pac-Man est un vulgaire boot de Pukman
      • Voir le profil
      • Zorg's blog
    Debuter la programmation en C
    « Réponse #53 le: Jeudi 02 Décembre 2010, 15:09:59 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

    Hors ligne BigPanik

    • Arcade Slammer
    • *
    • Messages: 3312
    • Localisation: Carrières Sur Seine (78)
      • Voir le profil
    Debuter la programmation en C
    « Réponse #54 le: Jeudi 02 Décembre 2010, 15:15:06 pm »
  • (sachant que le hasard n'existe pas en informatique !)

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

    BP

    Hors ligne 9uile

    • Scotché
    • *
    • Messages: 460
      • Voir le profil
    Debuter la programmation en C
    « Réponse #55 le: Jeudi 02 Décembre 2010, 15:23:22 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  ;)

    Hors ligne BigPanik

    • Arcade Slammer
    • *
    • Messages: 3312
    • Localisation: Carrières Sur Seine (78)
      • Voir le profil
    Debuter la programmation en C
    « Réponse #56 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

    Hors ligne 9uile

    • Scotché
    • *
    • Messages: 460
      • Voir le profil
    Debuter la programmation en C
    « Réponse #57 le: Jeudi 02 Décembre 2010, 15:47:18 pm »
  •  :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

    « Modifié: Jeudi 02 Décembre 2010, 16:00:07 pm par 9uile »

    Hors ligne ɐɹqoƆ‾ɥƃᴉH

    • Webmaster
    • Dieu de l' Arcade
    • *****
    • Messages: 12077
    • Je suis juste un multi-nick d'AsPiC...
      • Voir le profil
    Debuter la programmation en C
    « Réponse #58 le: Jeudi 02 Décembre 2010, 15:59:50 pm »
  • 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...

    Hors ligne 9uile

    • Scotché
    • *
    • Messages: 460
      • Voir le profil
    Debuter la programmation en C
    « Réponse #59 le: Jeudi 02 Décembre 2010, 16:00:42 pm »
  • Vas-y dit pour voir... =:))

    Hors ligne ɐɹqoƆ‾ɥƃᴉH

    • Webmaster
    • Dieu de l' Arcade
    • *****
    • Messages: 12077
    • Je suis juste un multi-nick d'AsPiC...
      • Voir le profil
    Debuter la programmation en C
    « Réponse #60 le: Jeudi 02 Décembre 2010, 16:07:08 pm »
  • 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

    Hors ligne 9uile

    • Scotché
    • *
    • Messages: 460
      • Voir le profil
    Debuter la programmation en C
    « Réponse #61 le: Jeudi 02 Décembre 2010, 16:14:34 pm »
  • 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)




     :-)= :-)= :-)=
    « Modifié: Jeudi 02 Décembre 2010, 16:16:15 pm par 9uile »

    Hors ligne dapsaille

    • Pratiquement VIP
    • *
    • Messages: 1275
    • Localisation: Provins
      • Voir le profil
    Debuter la programmation en C
    « Réponse #62 le: Jeudi 02 Décembre 2010, 16:45:44 pm »
  • programme.exe > sortie.txt  ^-

    Hors ligne Little_Rabbit

    • ✌(◕‿◕)✌ Donateur 2019
    • Dieu de l' Arcade
    • *
    • Messages: 5356
    • Localisation: Nantes
    • The early 80's : the arcade golden age !!
      • Voir le profil
    Debuter la programmation en C
    « Réponse #63 le: Jeudi 02 Décembre 2010, 18:20:37 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