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 :

Exercice sur les listes


Sujet :

Caml

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 18
    Points
    18
    Par défaut Exercice sur les listes
    Bonjour

    j'ai un petit souci on me demande de definir une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    etend_liste : 'a -> 'a list list -> 'a list list = <fun>
    qui prend en entrée un element e et une liste de listes l et qui rajoute e en tete de chacune des listes de l.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #etend_listes 5 [[1;2];[6]];;
    -: int list list = [[5;1;2];[5;6]]
    Donc voila, mon souci et je n'arrive pas a le résoudre pour l'instant j'ai fait ceci merci de m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let etend_listes e = function
    	[]-> [e],[e]
    	|(a::l)->let (l1,l2)=etend_listes e l in e::(a::l1),e::(a::l2);;

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,
    merci d'utiliser les balises [code] (bouton # de l'éditeur) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let etend_listes e = function
    	[]-> [e],[e]
    	|(a::l)->let (l1,l2)=etend_listes e l in e::(a::l1),e::(a::l2);;
    Alors, il a été dit que etend_listes avait le type 'a -> 'a list list -> 'a list list. Mais on voit, ligne 2, que tu retournes dans le cas trivial [e],[e] qui aura pour type 'a list * 'a list.

    Commence par corriger cela et nous en reparlerons. Une autre chose encore : ça-ne-marche-pas n'est pas une remarque très constructive, merci de renseigner l'erreur de compilation afin de nous aider à t'aider.

    Cdlt,
    -- Yankel Scialom

  3. #3
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Bonsoir,

    Après avoir tenu compte des remarques du message précédent, je te propose d'essayer d'écrire la fonction en entier, puis de voir s'il n'y a pas moyen d'utiliser une fonction déjà définie dans Caml (elles sont dans Caml Light et OCaml) pour te simplifier la tâche... et aussi pour te familiariser avec un concept phare de la programmation fonctionnelle.

    Je rejoins l'état d'esprit du message précédent : on t'apporte de valeur ajoutée si tu nous montres que tu essaies de ton côté. Le tout cuit, c'est contre-productif et pas dans l'esprit du forum.

    Cordialement,
    Cacophrène

Discussions similaires

  1. Exercice sur les graphes et listes.
    Par clement1010 dans le forum Caml
    Réponses: 8
    Dernier message: 12/11/2011, 17h23
  2. projet ou exercices sur les listes chainées
    Par petite_developpeuse dans le forum C
    Réponses: 1
    Dernier message: 12/12/2008, 18h07
  3. Besoin d'aide pour un exercice sur les registres
    Par zakuza dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/04/2006, 15h23
  4. Précisions sur les listes
    Par Virgile59 dans le forum Access
    Réponses: 1
    Dernier message: 07/02/2006, 22h20
  5. Réponses: 4
    Dernier message: 28/07/2005, 17h22

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