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 :

Conversion string en une valeur de type occurences


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Conversion string en une valeur de type occurences
    Bonjour, en faite je voulais convertir un mot de type string en une valeur de type occurrences .

    occurences est un type qui donne le nombres d'occurence de chaque carractère dans un mot.

    Voici comment j'ai définit mon type occurences

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    type 'a liste = Cons of 'a * 'a liste | Null;;
    type occurences = (char * int) liste;;
    Exemple de type occurences : Cons( ('b', 2), Null )
    En fait c'est un cas particulier du type 'a liste.

    j'ai déjà écrit une fonction (ajout_occ acc liste_occs) qui ajoute une occurrence de type (char * int) dans la liste d'occurrences de type occurrences.

    Maintenant pour cela je pense initialiser une nouvelle variable de type occurrences puis parcourir le mot de type string en ajoutant chaque caractère dans la variable de type occurrences à l'aide de la fonction ajout_occ et le renvoyer à la fin mais je ne réussit pas à le faire.


    voici ce que j'ai fait mais sa marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let conversion ajout_occ mot = 
    let acc = Null in for i = 0 to string_length (mot - 1) do
    ajout_acc (mot.[i]) acc in acc
    ;;

    merci de me donner une solution si vous en avez une svp.
    j'attend impatiemment

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    Vous avez visiblement des messages d'erreur. Il vaudrait mieux les corriger avant de demander une solution

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par TchoubiTchoub Voir le message
    Vous avez visiblement des messages d'erreur. Il vaudrait mieux les corriger avant de demander une solution
    Oui j'ai une message d'erreur et je n'arrive pas à le corriger c'est pour sa que je demande si quelqu'un aurai une solution.

    c'est un erreur de syntaxe signalée au niveau des deux point virgule à la fin de mon code et je ne sait pas pourquoi.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    Car la syntaxe d'une boucle for est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i = e1 to e2 do instruction list done

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par TchoubiTchoub Voir le message
    Car la syntaxe d'une boucle for est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i = e1 to e2 do instruction list done
    merci beaucoup pour ta réponse. je l'ai rectifié mais j'ai un autre problème le faite d'incrémenter mon accumulateur dans la parti du boucle for.

    Pour que se soit plus facile dans ma compréhension vous pouvais me faire une fonction qui calcule le nombres de caractères d'un mot en initialisant une variable cpt a 0
    puis parcourir les caractères du mot en incrémentant la variable cpt puis renvoyer cpt à la fin.

    Comme sa je vais me référer sur se code pour faire le mien car je pense que c'est la même syntaxe que le mien.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    Non.

    Je ne suis pas là pour faire les devoirs mais pour aider si je vois qu'une certaine quantité de travail a été fournie. Là il semble clairement que ce soit un travail à faire sur lequel vous ne souhaitez pas passer trop de temps et donc vous espérez que quelqu'un le fera pour vous.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par TchoubiTchoub Voir le message
    Non.

    Je ne suis pas là pour faire les devoirs mais pour aider si je vois qu'une certaine quantité de travail a été fournie. Là il semble clairement que ce soit un travail à faire sur lequel vous ne souhaitez pas passer trop de temps et donc vous espérez que quelqu'un le fera pour vous.
    je ne vous demande pas de faire mon devoirs mais j'ai juste besoin d'un syntaxe qui permet d'incrémenter une variable initialiser précédemment dans un boucle for et je pense que c'est simple pour un non débutant.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    Le problème c'est que j'ai des gros doutes sur le fait que vous ayez essayé de faire quelque chose qui marche. Il faudrait déjà lire les messages d'erreur et les corriger avant de continuer.

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/02/2007, 14h12
  2. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  3. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  4. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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