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 :

Parcours d'une liste


Sujet :

Caml

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Parcours d'une liste
    Bonjour,

    J'ai un problème relativement simple qui consiste a renvoyer le plus petit entier positif 'e' non contenu dans la liste 'l'.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    let rec minIntNotInListe l e = match l with
    |[] -> e
    |t::q -> if (e < t) then ( e )
    else if (e = t) then (minIntNotInListe (t :: q) (e + 1) )
    else if (e > t) then (minIntNotInListe q e);;
    Je me retrouve avec l'erreur suivante : "This expression has type unit but is here used with type int"

    Si quelqu'un pouvais me dire ce qui ne va pas, et aussi si il est possible d'écrire cette fonction sans avoir a donner en paramètre 'e' ?

    Clément.

  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 : 37
    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
    Salut, pourquoi ne pas trier ta liste avant de faire ta recherche ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    let smallest_not_included_integer l =
       let rec aux acc = function
       | [] -> acc
       | head::tail when acc < head -> acc
       | head::tail when acc = head -> aux (succ acc) tail
       | head::tail                 -> aux acc tail
       in
       aux 0 (List.fast_sort compare l)
    Cdlt,
    -- Yankel Scialom

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup pour ta réponse nocturne

    Topic résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcours d'une liste dans DisplayTag
    Par riderfun dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 26/03/2010, 09h39
  2. parcours d'une liste
    Par monodev dans le forum SL & STL
    Réponses: 19
    Dernier message: 27/01/2009, 12h30
  3. Boucle infinie lors d'un parcours d'une liste
    Par cocosql dans le forum Prolog
    Réponses: 3
    Dernier message: 16/01/2009, 07h23
  4. parcours d une liste de données.
    Par Mobistar dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 08/08/2008, 13h33
  5. Parcours d'une liste de liste
    Par pagra dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 10/10/2007, 19h24

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