Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/09/2006, à 18:02

steff04

aide programmation

mon énoncé est le suivant: faire afficher la sommedes chiffres d'un entier de 4 chiffres saisi par l'utilisateur(une seule saisie)
je ne vois pa du tout comment faire pouvez-vous m'aider?
merci

#2 Le 23/09/2006, à 18:08

Lord Alembert

Re : aide programmation

Bonjour.

Somme <- 0
Reste <- LECTURE_ENTIER

Tant que Reste != 0 faire
     Somme <- Somme + (Reste modulo 10)
     Reste <- Reste / 10

Retourner Somme

devrait faire l'affaire. L'opération modulo dépend des languages. En C et Java c'est a % b pour a modulo b.

Au revoir.

Dernière modification par Lord Alembert (Le 23/09/2006, à 18:09)

Hors ligne

#3 Le 23/09/2006, à 18:19

steff04

Re : aide programmation

je suis désolée mais je n'ai pas compris ce qui est écrit.
mon programme est:
#include<stdio.h>
#include<stdlib.h>
int main (void)
{
       int a;
    printf("entrez un entier de 4 chiffres:\n");
    scanf("%d",&a);
    b=
    printf("la somme des chiffres vaut: %d \n,b);

        return EXIT_SUCCESS;
}

voilà ce que j'ai fait pour le moment mais je bloque sur la manière d'afficher la somme de l'entier.
merci

#4 Le 23/09/2006, à 18:52

tOkeshu

Re : aide programmation

Ahhh, "faire afficher la somme des chiffres d'un entier de 4 chiffres", exercice classique n'est-il pas ? big_smile

Le principal problème est de se représenter l'entier de la bonne façon.
Il suffit de le décomposer comme suit :
Ex : considérons le nombre 1234, on a donc 1234 = 1000 + 200 + 30 + 4
Et encore : (1*10^3) + (2*10^2) + (3*10^1) + (4*10^0).

Ensuite il faut s'adapter en fonction des outils utilisés. Ici tu semble utiliser le C.
Il faudra donc faire attention à l'opérateur "/" et "%".

Ainsi 234/11 retournera uniquement 21 et non pas 21,272727273 alors que 234%11 retournera 3 (c'est à dire le reste de la division euclidienne).

Lord Alembert t'a donné du "pseudo-code", très utilisé en algorithmique. C'est pour éviter de respecter une syntaxe propre à un langage. C'est une sorte de langage universel qui accorde plus d'importance à la sémantique plutôt qu'a la syntaxe smile.

Le "pseudo-code" décrit parfaitement ce que tu doit faire il suffit juste de le comprendre et d'y réfléchir.
Je ne vais pas te donne le code en C parce que j'estime que si c'est un exercice tu dois chercher et comprendre par toi même ! wink


Pourquoi faire simple quand on peu faire compliqué :
Moi j'aime bien utiliser cygwin dans une session windows émulée sous ubuntu... :P

Hors ligne

#5 Le 24/09/2006, à 15:53

steff04

Re : aide programmation

merci pour ton aide j'ai enfin compris, avec du mal mais j'y suis arrivée.