IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Une petite énigme


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Une petite énigme
    Bonjour à tous,
    J'ai voulu vérifier expérimentalement (par le biais de caml) ce petit exercice de proba qui m'a toujours intrigué:
    Vous avez le choix entre 3 enveloppes. Une seule contient un "beau" cadeau.
    Vous en choisissez dabord une, puis, parmi les 2 autres, j'en retire une mauvaise.
    Il reste alors 2 enveloppes: celle que vous avez choisi en 1er, et une autre.
    Les probas montrent que vous avez alors 2 chances sur 3 de tomber sur le beau cadeau si vous changez votre 1er choix pour prendre l'autre.

    J'ai donc crée un petit programme pour vérifier ce résultat.
    Le problème ?
    Le programme fonctionne mais me donne 1/3 seulement.
    Merci de bien vouloir vérifier ou est mon erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    let tableau i = 
      let t = make_vect 4 0 in
        let n = (Random__int 3) in t.(n)<-1;
        t.(3)<-i;
     t;;  
    (*ce tableau représente mes 3 enveloppes, la 4eme case n'étant qu'une indexation*)
     
    let exp i =
      let t = make_vect i [|0|] in
        for i=0 to (i-1) do
         t.(i)<- tableau i; done;
      t;;
    (*ce tableau de tableau nous servira dans la suite pour effectuer une expérience à grande échelle*)
     
    let choix1 i =   random__int 3;;
    (*comme son nom l'indique, voilà notre premier choix*)
     
    let choix2 i = 
     let g = tableau i in 
      let k = choix1 i in
         let rec aux j =
          match (j=k,g.(j)=0) with
            |(true,_)-> aux (j+1)
            |(false,false) -> aux (j+1)
            |(false, true) -> j   
    in
       let rec aux2 m =
          match (m=aux 0, m=k) with
            |(true,_) -> aux2 (m+1)
            |(_,true) -> aux2 (m+1)
            |(false,false) -> m
    in aux2 0;; 
    (* la fonction "aux" sert à repérer une enveloppe vide pour pouvoir l'enlever, la fonction "aux2" sert à changer notre 1er choix, comme dans l'énoncé de l'énigme *)
     
    let proba p =
      let t = exp p in
        let a = ref 0 in
          for d=0 to p-1 do
            if t.(d).(choix2 d)=1 then a:= !a+1;
          done;
    !a;;
    (* "proba" nous sert à compter le nombre de fois que fois que l'on gagne si l'on effectue p expérience *) 
     
    proba 1000;;
    Je ne prétend pas avoir ici la façon la plus maligne de vérifier l'égnigme, mais il me semble que cette programation est juste.

    Merci donc de m'éclairer sur mon erreur.

  2. #2
    alex_pi
    Invité(e)
    Par défaut
    J'ai pas le courage de lire ton code ce soir, mais quand je le fait de mon coté (en un peu moins de ligne, je te rassure), je trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Gain : 3330283
    Perte : 3334785
    Donc ce serait faux ?

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par michel11 Voir le message
    [....]

    Je ne prétend pas avoir ici la façon la plus maligne de vérifier l'égnigme, mais il me semble que cette programation est juste.

    Merci donc de m'éclairer sur mon erreur.
    Tu pourrais commencer par nous donner ton algorithme.

  4. #4
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    Donc ce serait faux ?
    En effet.

    Hypothèse 1 : au premier choix, tu tombes sur le bon. Un faux est retiré. Puis, tu changes ton choix, et donc tu perds.

    Hypothèse 2 : au premier choix, tu tombes sur le premier des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Hypothèse 3 : au premier choix, tu tombes sur le deuxième des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Probabilité de victoire : 2/3

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Mon programme confirme bien les 2/3 de victoires avec cette stratégie :
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import System.Random
    import System
    import Data.Ratio
    import Control.Monad.State
     
    main = do
      [n] <- getArgs
      g <- newStdGen
      let wins = length . filter id . take (read n) $ evalState (sequence $ repeat choice) g
      print (wins % read n)
     
    choice = do
      winning <- rand (1 :: Int, 3)
      first <- rand (1, 3)
      return $ first /= winning 
     
    rand b = do
      g <- get
      let (r, g') = randomR b g
      put g'
      return r

    --
    Jedaï

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Jedai,
    quel programme utilises tu ?
    J'apprend à programmer en caml light depuis un an et là je comprends rien donc ça me fait un peu peur.

    Je comprendrai que personne n'ai de motivation pour lire mon code, qui doit être assez maladroit pour vous.
    Mais dans ce cas quelqu'un pourrait-il m'écrire un code "classe" (ou au moins juste ), en caml ligth pour vérifier ce résultat ?

    Merci d'avance

  7. #7
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par LLB Voir le message
    En effet.

    Hypothèse 1 : au premier choix, tu tombes sur le bon. Un faux est retiré. Puis, tu changes ton choix, et donc tu perds.

    Hypothèse 2 : au premier choix, tu tombes sur le premier des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Hypothèse 3 : au premier choix, tu tombes sur le deuxième des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Probabilité de victoire : 2/3
    Je suis mauvais en stat, mais j'ai quand même l'impression que ce raisonnement est faux. Il peut être reformulé :

    Hypothèse 1 : au premier choix, tu tombes sur le bon. Le premier faux est retiré. Puis, tu changes ton choix, et donc tu perds.

    Hypothèse 2 : au premier choix, tu tombes sur le bon. Le deuxième faux est retiré. Puis, tu changes ton choix, et donc tu perds.

    Hypothèse 3 : au premier choix, tu tombes sur le premier des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Hypothèse 4 : au premier choix, tu tombes sur le deuxième des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Et là ça fait une chance sur deux.


    Mon code de test completement dégoutant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    let gain = ref 0
    let perte = ref 0
     
    let tirage () =
      let ge = Random.int 3 in (* la bonne enveloppe *)
      let ke = Random.int 3 in (* permier choix d'envelope *)
      let ce = (ke + (Random.int 2) + 1) mod 3 in (* parmis les deux autres, celle ouverte *)
      if ce = ge then () else (* celle ouverte était la bonne, on a perdu *)
      if ke = ge then incr perte (* on avait la bonne et on change, perdu *)
      else incr gain (* on avait la mauvaise et on change, gagné *)
     
    let _ = for i = 1 to 10000000 do tirage () done
     
    let _ = Printf.printf "Gain : %i\nPerte : %i\nMoyenne %f" 
      !gain 
      !perte 
      (float_of_int !gain /. float_of_int (!perte + !gain))
    Qui donne comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Gain : 3330283
    Perte : 3334785
    Moyenne 0.499662

  8. #8
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    michel11 : le code de Jedaï est du Haskell. C'est très différent, pas la peine de chercher à le comprendre (pour le moment).

    Citation Envoyé par alex_pi Voir le message
    Je suis mauvais en stat, mais j'ai quand même l'impression que ce raisonnement est faux.
    Note que mes 3 hypothèses sont forcéément équiprobables : elles sont basées sur les 3 issues du premier choix.

    Citation Envoyé par alex_pi Voir le message
    Hypothèse 1 : au premier choix, tu tombes sur le bon. Le premier faux est retiré. Puis, tu changes ton choix, et donc tu perds.

    Hypothèse 2 : au premier choix, tu tombes sur le bon. Le deuxième faux est retiré. Puis, tu changes ton choix, et donc tu perds.
    Oui, mais tu divises l'hypothèse en deux. Chacun de tes deux points a une probabilité de 1/6 (1/3 de faire le bon choix, fois 1/2 selon le faux qui retiré).

    Citation Envoyé par alex_pi Voir le message
    Hypothèse 3 : au premier choix, tu tombes sur le premier des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.

    Hypothèse 4 : au premier choix, tu tombes sur le deuxième des faux. L'autre faux est retiré. Tu changes ton choix, et donc tu gagnes.
    Chacun de ces points a une proba de 1/3 : on a une chance sur 3 de tomber sur le premier faux ; une chance sur 3 de tomber sur le deuxième.

    D'où 2 chances sur 3.


    J'ai survolé ton code. Le problème vient de "ce". Relis l'énoncé : l'enveloppe retirée contient forcément un faux. Il faut donc faire intervenir la valeur de "ge" pour savoir quelle enveloppe retirer (c'est là l'astuce du problème : une fois qu'une enveloppe a été retirée, l'enveloppe choisie au départ a toujours sa proba de 1/3, tandis que la dernière a une proba de 2/3).

  9. #9
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Citation Envoyé par alex_pi
    Hypothèse 1 : au premier choix, tu tombes sur le bon...
    Hypothèse 2 : au premier choix, tu tombes sur le bon...
    Hypothèse 3 : au premier choix, tu tombes sur le premier des faux...
    Hypothèse 4 : au premier choix, tu tombes sur le deuxième des faux...
    Ok ça fait 4 hypothèses, mais je ne pense pas que 1,2,3,4 soit équiprobables, c'est 1+2 qui est équiprobable à 3 et à 4.
    (faudrait indiquer votre nationalité histoire de vérifier qu'on est encore et toujours les plus nuls en probas, et fiers de l'être paraît-il)

    @michel11 : ne cherches même pas à comprendre, seul un chevalier Jedaï monadico-compulsif peut pondre du code aussi élégant

  10. #10
    alex_pi
    Invité(e)
    Par défaut
    On suppose que l'on a 3 enveloppes 0, 1 et 2 (on est des informaticiens merde, on commence à 0 !) Sans perte de généralité, on suppose que c'est l'enveloppe numéro 0 la gagnante. Le processus consiste ensuite à choisir une enveloppe que l'on garde, une autre que l'on ouvre. Si celle que l'on ouvre est la 0, on ne compte pas ce coup, si c'est la 1 ou la 2, on change d'enveloppe. On not G quand la stratégie est gagnante, P quand elle est perdante. Comptons l'ensemble des combinaisons possible

    0 1 P
    0 2 P
    1 0 NC
    1 2 G
    2 0 NC
    2 1 G

    Sur les quatres situations équiprobables où on tente d'appliquer la stratégie, elle est gagnante deux fois, perdantes deux fois. Donc elle n'apporte rien !

  11. #11
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    1 2 et 2 1 sont équiprobables et 0 1 et 0 2 le sont aussi, mais 1 2 et 0 1 ne sont pas équiprobables !! 1 2 est équiprobable à l'union de 0 1 et 0 2 comme ton schéma le montre bien d'ailleurs...

    De toute façon, la probabilité de gagner est extrêmement facile à calculer : je pense que tout le monde est d'accord pour dire que si le premier choix est une enveloppe perdante alors on gagne avec cette stratégie et on ne perd que si le premier choix était l'enveloppe gagnante ? On a 2 chances sur 3 de choisir une enveloppe perdante...

    Il n'y a pas grand chose à discuter, seul le premier choix est une question de chance, la suite est déterministe, inutile de faire un arbre.

    --
    Jedaï

  12. #12
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Jedai Voir le message
    1 2 et 2 1 sont équiprobables et 0 1 et 0 2 le sont aussi, mais 1 2 et 0 1 ne sont pas équiprobables !! 1 2 est équiprobable à l'union de 0 1 et 0 2 comme ton schéma le montre bien d'ailleurs...
    Hein ??? Quand je tires deux éléments de façons ordonnée et sans remise parmis 3, tous les tirages sont équiprobables ! Il n'y a pas plus de chance de tirer 1 2 que 0 1. C'est une chance sur 6 dans tous les cas.

    De toute façon, la probabilité de gagner est extrêmement facile à calculer : je pense que tout le monde est d'accord pour dire que si le premier choix est une enveloppe perdante alors on gagne avec cette stratégie et on ne perd que si le premier choix était l'enveloppe gagnante ? On a 2 chances sur 3 de choisir une enveloppe perdante...

    Il n'y a pas grand chose à discuter, seul le premier choix est une question de chance, la suite est déterministe, inutile de faire un arbre.
    Oui mais non.. La probabilité d'avoir en main une enveloppe perdante sachant que l'enveloppe qui a été ouverte est perdante est d'un demi, pas de 2/3. Donc une fois qu'on sait que l'autre enveloppe est perdante, il n'y a plus de raison de changer, les deux sont équiprobable. C'est d'ailleurs ce que montre mon expérience (je ne comprends pas ton code à la première lecture, je vais me plonger dedans plus avant)

  13. #13
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    Si on retirait une enveloppe aléatoirement, on aurait bien la probabilité de 1/2. Mais ce n'est pas le cas. Relis la dernière explication de Jedai, elle est pertinente. Pour reprendre :

    * Si au premier choix, tu tombes sur la bonne enveloppe (proba 1/3, évidemment). Alors, en changeant ton choix, tu perdras forcément. La proba reste de 1/3, elle ne peut absolument pas changer.

    * Si au premier choix, tu tombes sur une mauvais enveloppe (proba 2/3), alors, en changeant ton choix, tu tomberas forcément sur la bonne (puisque l'autre mauvaise a été virée). La proba reste donc de 2/3.

    Je ne sais pas trop comment expliquer autrement.
    (je ne comprends pas ton code à la première lecture, je vais me plonger dedans plus avant)
    Son code n'est pas intéressant (il teste juste si rand 3 <> rand 3 : d'où proba 2/3, mais ça ne t'avance pas ).

  14. #14
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par LLB Voir le message
    Si on retirait une enveloppe aléatoirement, on aurait bien la probabilité de 1/2. Mais ce n'est pas le cas. Relis la dernière explication de Jedai, elle est pertinente. Pour reprendre :

    * Si au premier choix, tu tombes sur la bonne enveloppe (proba 1/3, évidemment). Alors, en changeant ton choix, tu perdras forcément. La proba reste de 1/3, elle ne peut absolument pas changer.
    Justement si ! Puisque la question initiale est "En arrivant au point où l'enveloppe ouverte n'est pas l'enveloppe gagnante, dois je changer d'enveloppe ?" Et le soucis est que, sachant que l'enveloppe ouverte n'est pas la gagnante, la probabilité que l'enveloppe entre mes mains est l'enveloppe gagnante n'est plus d'un tiers, mais d'un demi.

    Quel est l'erreur dans mon raisonnement et dans mon code (les deux donnant le même résultat) ?


    Citation Envoyé par LLB Voir le message
    * Si au premier choix, tu tombes sur une mauvais enveloppe (proba 2/3), alors, en changeant ton choix, tu tomberas forcément sur la bonne (puisque l'autre mauvaise a été virée). La proba reste donc de 2/3.
    Là encore tu tomberas sur la bonne si elle n'a pas déjà été ouverte, et elle l'a été avec une chance sur deux.

  15. #15
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    En modifiant ton code, ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    let gain = ref 0
    let perte = ref 0
     
    let tirage () =
      let ge = Random.int 3 in (* la bonne enveloppe *)
      let ke = Random.int 3 in (* permier choix d'envelope *)
      if ke = ge then (* le 1er choix était bon *)
          (* on enlève un mauvais choix - peu importe lequel *)
          incr perte (* en changeant, on tombe sur l'autre mauvais choix *)
      else (* le 1er choix était faux *)
          (* l'autre mauvais choix est viré *)
          incr gain (* en changeant, on tombe sur le bon choix *)
     
    let _ = for i = 1 to 10000000 do tirage () done
     
    let _ = Printf.printf "Gain : %i\nPerte : %i\nMoyenne %f" 
      !gain 
      !perte 
      (float_of_int !gain /. float_of_int (!perte + !gain))
    Mais je ne suis pas sûr que ces lignes de code t'avancent plus que l'explication "texte". D'ailleurs, ce code est comme celui de Jedai, au final (avec les commentaires qui te guideront peut-être mieux ?)

  16. #16
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    En relisant, je me rends compte que c'est la phrase suivante qui est mal comprise (elle manque un peu de clarté - et puisque je connaissais ce problème, ça ne m'a pas induit en erreur) :

    Vous en choisissez dabord une, puis, parmi les 2 autres, j'en retire une mauvaise.
    Il faut comprendre : l'organisateur du jeu, qui sait quelle enveloppe est bonne, choisit une mauvaise enveloppe, qu'il retire.

    Dans ton code, ce qui ne va pas, c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      let ce = (ke + (Random.int 2) + 1) mod 3 in (* parmis les deux autres, celle ouverte *)
      if ce = ge then () else (* celle ouverte était la bonne, on a perdu *)
    Tu considères que l'on retire une enveloppe au hasard, et que si elle était bonne, le jeu est annulé.


    Dans ton explication (je ne l'avais pas comprise au départ), tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    0 1 P
    0 2 P
    1 0 NC
    1 2 G
    2 0 NC
    2 1 G
    Le NC est imopssible. Il ne se produit jamais : l'organisateur SAIT où se trouve la bonne enveloppe, il ne se trompe jamais.

    Si le premier choix est 0, on aboutit forcément à P, on est d'accord. Mais si le premier choix est 1 ou 2, on aboutit forcément à G.

  17. #17
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par LLB Voir le message
    En modifiant ton code, ça donne :
    Tu n'exclues pas les cas qui ne nous intéresse pas, ceux où l'enveloppe ouverte est l'enveloppe gagnante. Tu comptabilise ces cas dans gain, alors qu'on a perdu :-\ C'est pour ça que j'avais un cas () dans mon code

  18. #18
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    J'ai mis un autre message entre temps : ce cas n'arrive jamais. L'enveloppe retirée est forcément fausse.

  19. #19
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par LLB Voir le message
    Il faut comprendre : l'organisateur du jeu, qui sait quelle enveloppe est bonne, choisit une mauvaise enveloppe, qu'il retire.
    OK! Je n'avais donc pas compris le problème :-)

    Je suis d'accord avec le 2/3

  20. #20
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    OK! Je n'avais donc pas compris le problème :-)

    Je suis d'accord avec le 2/3
    Enfin !!

    Mais je suis d'accord que l'explication n'était peut-être pas très claire, c'est un problème très classique, j'ai donc juste survolé le post initial, je connaissais déjà l'exercice.

    --
    Jedaï

Discussions similaires

  1. Une petite question de modélisation
    Par Emdis dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/10/2004, 12h13
  2. copier une petite texture sur une grosse texture
    Par gaut dans le forum DirectX
    Réponses: 5
    Dernier message: 15/10/2004, 22h12
  3. Une petite question
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/08/2004, 16h19
  4. Réponses: 2
    Dernier message: 23/03/2004, 12h23
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo