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

Langage Pascal Discussion :

Fonction de calcul de somme des chiffres d'un entier


Sujet :

Langage Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Fonction de calcul de somme des chiffres d'un entier
    Bonsoir,

    j'ai un devoir a rendre demain et voila deja plusieur heure que je cherche la solution a mon probleme et j'avoue que la je craque :

    je dois creer un programme qui ,en autre, calcul la somme des chiffres d'un entier et ceci en utilisant une fonction (fuction)
    ex: 123 = 1+2+3=6

    j'ai deja commencé comme cela:

    function somme(s:integer):integer;
    begin somme:=

    et la je bloque! si quelqun peut maider svp!!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 123
    Points : 174
    Points
    174
    Par défaut
    C'est un bon début.
    Pour terminer, il faut ajouter end;
    Mais ça ne compilera pas car il faut mettre une expression à droite de somme := et la terminer par un point-virgule.
    Si tu mets somme := s; ça compilera.

    Tu ne penses tout de même pas qu'on va faire tes devoirs à ta place ?

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Pour avoir les differents chiffres, il suffit de diviser successivement par 10 le nombre en question, puis d'additionner les reste des divisions effectuées.
    Par exemple, 123=12*10+3
    12=1*10+2
    1=0*10+1
    Ainsi tu as 1, 2 et 3 comme chiffres composant 123.

  4. #4
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    cadeau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Somme(const I: integer): integer;
    var vI, vR : integer;
    begin
      vI := I;
      vR := 0;
      repeat
        inc(vR, vI mod 10);
        vI := vI div 10;
      until vI = 0;
      Somme := vR;
    end;
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/03/2012, 00h18
  2. Calcul de somme des chiffres de nombre 2^1000
    Par mouradj2006 dans le forum Mathématiques
    Réponses: 12
    Dernier message: 27/02/2012, 11h45
  3. [XL-2007] Fonction calculant la somme des chiffres des cellules d'une même couleur
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/08/2010, 00h23
  4. template XSL qui calcule la somme des chiffres d'un nombre
    Par thierry_b dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/04/2009, 14h55
  5. Réponses: 6
    Dernier message: 01/02/2009, 00h14

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