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

Recherche:

Type: Messages; Utilisateur: magodeoz

Page 1 sur 2 1 2

Recherche: Recherche effectuée en 0,01 secondes.

  1. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Merci à vous 2....En effet ma fonction aurait...

    Merci à vous 2....En effet ma fonction aurait gagné la palme de la moins élégante... ^^
    List.mem je ne connaissais pas....Très utile en effet ^^
  2. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    (*inclus *) let rec appartient (x : 'e) (e :...

    (*inclus *)

    let rec appartient (x : 'e) (e : 'e list) : bool =
    match e with |a:: ensemble2 -> if(a = x) then true else appartient (x) (ensemble2)
    |[] -> false
    ;;
    let rec...
  3. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    J'ai à la base: let rec cardinal (l:'a list)...

    J'ai à la base:

    let rec cardinal (l:'a list) :int=
    match l with
    |a::b->1+cardinal (b)
    |[]->0;;

    let rec appartient (x : 'a) (l : 'a list) : bool =
    match l with |a::ensemble2 -> if(a...
  4. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Oui en effet...Bien plus lisible ;) Je manque...

    Oui en effet...Bien plus lisible ;) Je manque encore de pratique en ocaml et j'aime bien marqué le type des arguments de la fonction pour m'y retrouver.Je manque encore d'automatismes ou plutôt j'en...
  5. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Bon je vais essayer inclus...

    Bon je vais essayer inclus maintenant....J'appréhende déjà :mouarf:
  6. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Débile que je suis.... let rec fold_left (f:...

    Débile que je suis....


    let rec fold_left (f: 'a -> 'b ->'a) (acc: 'a) (l: 'b list): 'a =
    match l with
    [] -> acc
    | x::xs -> fold_left f (f acc x) xs ;;


    let...
  7. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Je vais avoir un autre problème.... ^^...

    Je vais avoir un autre problème.... ^^ cardinalmultiens doit me renvoyer un couple de int.... Donc mon accumulateur va être (0,0)....
    Je pense que je n'en suis pas loin...

    let rec fold_left (f:...
  8. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    J'imagine que le début est de la forme: ...

    J'imagine que le début est de la forme:

    letcardinalmultiens=List.fold_left (fun a (_,b)-> mais je peine à trouver comment renvoyer la somme des b....
  9. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Oui il faudrait que j'ai la somme des "b" :-)...

    Oui il faudrait que j'ai la somme des "b" :-) J'imagine qu'il faut stocker les valeurs de b dans l'accumulateur n'est ce pas...?
    Je vais voir si j'arrive à faire ça...
  10. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    J'ai tenté : let cardinalmultiens...

    J'ai tenté :
    let cardinalmultiens =List.fold_left (fun _ (a,b) -> b) 0 ;;
    List.fold_left (fun _ (a,b) -> b) 0 [(3,1);(2,3)];;
    - : int = 3
    Mais ça ne marche pas....
  11. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Ah merci j'ai compris!!! :-) le a en fait ça va...

    Ah merci j'ai compris!!! :-) le a en fait ça va être mon accumulateur!
    Si j'avais mis:
    let cardinal =fold_left (fun a _ -> succ a) 1 ;;
    fold_left (fun a b -> succ a) 1 [5;3;9;4] ;; ça m'aurait...
  12. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    J'ai un peu de mal encore avec cette fonction.......

    J'ai un peu de mal encore avec cette fonction.... J'aimerais bien tout comprendre :-)

    Quand j'ai:
    fold_left (fun a b -> succ a) 0 [5;3;9;4] ;;
    Le b, si j'ai bien compris c'est les différentes...
  13. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Ok :-) let rec fold_left (f: 'a -> 'b ->'a)...

    Ok :-)

    let rec fold_left (f: 'a -> 'b ->'a) (acc: 'a) (l: 'b list): 'a =
    match l with
    [] -> acc
    | x::xs -> fold_left f (f acc x) xs ;;


    let cardinal =fold_left (fun a _ -> succ a) 0...
  14. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Merci de ta réponse prgasp Oula....Si je...

    Merci de ta réponse prgasp
    Oula....Si je comprends bien, tu as pris 2 fonctions prédéfinies...
    List.fold_left et succ qui donne le nombre suivant..
    Mais moi il faut que j'écrive ma fonction...
  15. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    ça a finalement marché! :-) J'en avais une de...

    ça a finalement marché! :-)

    J'en avais une de trop à la fin ^^Elle était confondue avec la fin de la fenêtre...Je sais pas si c'est clair mais l'idée c'est ça :lol:


    differencemultiens...
  16. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Merci pour ces infos, j'ai bien compris à présent...

    Merci pour ces infos, j'ai bien compris à présent :-)

    J'ai réussi à mettre toutes les autres fonctions sous la forme liste....sauf une :(
    La dernière....
    J'ai:

    let rec unionmultiens(multie1 :...
  17. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Merci beaucoup de ta réponse Ptival! :ccool: ...

    Merci beaucoup de ta réponse Ptival! :ccool:

    En fait le multivide c'était un ensemble que j'avais défini:
    let multivide = VIDE ;;

    Et donc pour la version liste:

    type 'a multielt = 'a * int...
  18. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    type multiens= 'a multielt list non?

    type multiens= 'a multielt list non?
  19. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Voila je vous ai envoyé le sujet en pièce jointe....

    Voila je vous ai envoyé le sujet en pièce jointe. D'après le professeur, Partie 1 et 2, il n'y a pas d'erreurs dans ce que j'ai fait .J'ai réussi jusqu'au début de la partie 3. J'ai fait...
  20. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    prgasp, pourrais-tu m'aider pour cette...

    prgasp, pourrais-tu m'aider pour cette fonction.... Même problème que pour la précèdente, je m'en sors avec le "Add of mais pas sans...

    occurencemultiens : 'e multiens -> int
    Sémentique : renvoit...
  21. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Je crois que la récursion terminale c'est encore...

    Je crois que la récursion terminale c'est encore un peu trop compliqué pour moi ^^

    type 'a multielt = 'a * int
    type 'a multiens= []| 'a multiens of 'a multielt ?

    Merci pour le lien :-) Je vais...
  22. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    merci du conseil. :-) Petite question, à la fac...

    merci du conseil. :-)
    Petite question, à la fac on utilise emacs, est-il possible de l'avoir sur Windows (j'ai cherché partout...rien trouvé) ou n'existe-t-il que sous linux ou unix?
  23. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    En fait j'ai objectif caml sur mon windows et ce...

    En fait j'ai objectif caml sur mon windows et ce n'est pas très stable...Le programme bug assez souvent...et je n'ai pas vraiment envie de mettre du ubuntu sur mon pc...
    Finalement l'exemple a...
  24. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Je crois que j'ai trouvé! :D let rec...

    Je crois que j'ai trouvé! :D


    let rec cardinalmultiens (l: 'a list):int*int=
    match l with
    |(_,b)::suite -> let (x,y)=cardinalmultiens(suite) in (x+1,b+y)
    |[] -> (0,0);;

    c'est bon ça...
  25. Votes reçus
    +0 -0
    Réponses
    44
    Affichages
    5 311

    Merci de ta réponse prgasp. Ah d'accord C'était...

    Merci de ta réponse prgasp.
    Ah d'accord C'était ça mon problème redéfinir le type multiens.
    type multiens= []|int* 'a list non?
    Je pensais pouvoir m'en sortir comme avec cardinal en faisant du...
Affichage des résultats 1 à 25 sur 29
Page 1 sur 2 1 2