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 :

[débutant] Somme des éléments d'un tableau


Sujet :

Caml

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 25
    Points : 20
    Points
    20
    Par défaut [débutant] Somme des éléments d'un tableau
    Bonsoir,

    J'aimerais utiliser la fonction matrice ou array pour faire un tableau à deux dimensions et faire la somme de tous les éléments du tableaux mais j'ai un gros problème de rédaction, ce que j'ai proposé jusque là ne marche pas (donc je ne le remet pas ici).
    Quelqu'un pourrait m'aider à démarrer svp ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Si, mets le ici.

    Est-ce que tu pourrais préciser en plus ce que veux dire "ne marche pas" dans ton cas, et si tu as une idée de pourquoi ça ne "marche pas", l'expliquer ?

  3. #3
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Pour faire un tableau à deux dimensions, n'utilise pas make_vect make_vect ..., car tu auras un tableau à une dimension dont toutes les cases pointent physiquement vers le même tableau.

    Utilise make_matrix ou Array.create_matrix.

    C'est une erreur classique.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Bonsoir

    J'ai d'abord essayé avec un tableau simple (une dimension) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let poly(n,t) = 
      init_vect t (fun i -> 1 + n*i)
    ;;
    ça fonctionne

    Mon code pour la somme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    let somme(t) =
      let s = ref(0) in
      for i = 0 to vect_length(t) - 1 do
        s := !s+i
      done;
      !s
    ça affiche juste ensuite, mais lorsque j'essaye avec des données on me dit :

    Cette expression est de type int * int * int,
    mais est utilisée avec le type 'a vect.

    Donc voilà, les messages d'erreurs sont caml je ne les comprends pas trop

  5. #5
    alex_pi
    Invité(e)
    Par défaut
    Arghl... Juste pour savoir avant de répondre plus avant : où est ce que tu as appris à faire du Caml ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    La fonction que tu viens de donner ne fonctionne pas, même dans le cas à une dimension. Il manque un petit quelque chose.

    Par ailleurs le message d'erreur montre que, d'une part ce n'est pas avec cette fonction que tu as testé, d'autre part tu n'as pas écrit correctement ce que tu voulais tester. Tu peux donner exactement le code qui provoquait l'erreur, ou alors le corriger toi-même, ou alors donner la bonne erreur ?

    alex_pi > t'es un peu difficile, à part la curryfication le code est assez normal (en particulier des références pour un tableau ça ne choque pas, on ne va pas demander à un débutant de pondre un Array.fold_left direct, et la récursion sur l'indice n'est pas vraiment plus élégante).

Discussions similaires

  1. somme des élément d' un tableau
    Par Iichham dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/06/2011, 13h21
  2. Recherche valeur dans tableau et somme des éléments
    Par eaglewatch dans le forum LabVIEW
    Réponses: 5
    Dernier message: 16/03/2011, 14h22
  3. [DeskI XiR2] Somme dépendante des éléments d'un tableau
    Par courti01 dans le forum Débuter
    Réponses: 2
    Dernier message: 06/11/2010, 15h25
  4. Somme des éléments d'un tableau
    Par thouraya24 dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 09/03/2009, 14h46
  5. [dom je pense]accéder à des éléments d un tableau sans id
    Par luta dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/02/2006, 15h31

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