Les fonctions en C
bazalla
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un problème ,je ne sais pais comment écrire une fonction qui permet de retourner le chiffre de poids fort d'un nombre réel passé en paramètre.Merci d'avance pour vos réponses
j'ai un problème ,je ne sais pais comment écrire une fonction qui permet de retourner le chiffre de poids fort d'un nombre réel passé en paramètre.Merci d'avance pour vos réponses
A voir également:
- Les fonctions en C
- Codes secrets Android : accéder aux fonctions cachées - Guide
- Les fonctions excel en anglais - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Bureautique
- Mise en forme conditionnelle avec fonction si - Guide
3 réponses
Bonjour
Par exemple, j'utiliserais sprintf pour traduire le nombre en une suite de caractères, puis je balayerais cette suite jusqu'à ce que je trouve un chiffre non nul (s'il y en a un)
Par exemple, j'utiliserais sprintf pour traduire le nombre en une suite de caractères, puis je balayerais cette suite jusqu'à ce que je trouve un chiffre non nul (s'il y en a un)
Bonjour,
Tu as deux façons de faire.
1/ Tu convertis en chaîne de caractères et tu prends le premier. Mais bon, s'il s'agit d'un exercice, t'auras 0 à mon avis ^^.
2/ Tu fais un algorithme pour déterminer le premier chiffre.
C'est un exercice intéressant. Alors, ça m'embête de te donner la solution.
Je te donne une piste plutôt :
Tu as 56, comment faire pour obtenir le 5 ?
Tu fais : (56 - 6) / 10 = 5. 6 tu l'obtiens en faisant 56 % 10 (modulo).
Pour 123 :
(123 - 123%10) / 10 = 12
Puis on refait sur 12 : (12 - 12%10) = 1
Tu as bien compris, il y a une boucle while à faire ;-).
Bon courage,
Tu as deux façons de faire.
1/ Tu convertis en chaîne de caractères et tu prends le premier. Mais bon, s'il s'agit d'un exercice, t'auras 0 à mon avis ^^.
2/ Tu fais un algorithme pour déterminer le premier chiffre.
C'est un exercice intéressant. Alors, ça m'embête de te donner la solution.
Je te donne une piste plutôt :
Tu as 56, comment faire pour obtenir le 5 ?
Tu fais : (56 - 6) / 10 = 5. 6 tu l'obtiens en faisant 56 % 10 (modulo).
Pour 123 :
(123 - 123%10) / 10 = 12
Puis on refait sur 12 : (12 - 12%10) = 1
Tu as bien compris, il y a une boucle while à faire ;-).
Bon courage,
Bonjour,
j'ai pas bien saisie ce que vous avez dis ,je suis encore débutante sachant que je dois utiliser la fonction de la valeur absolue et la fonction de la partie entière.Merci encore pour vos réponses.
j'ai pas bien saisie ce que vous avez dis ,je suis encore débutante sachant que je dois utiliser la fonction de la valeur absolue et la fonction de la partie entière.Merci encore pour vos réponses.
T'aurais dû commencer par nous expliquer que tu devais utiliser les fonctions valeur absolue et partie entière. Ca évite qu'on se "casse la tête" à donner une solution "hors sujet"...
Bref comme je te disais, je te donnerai pas la réponse toute cuite. A toi de comprendre le mécanisme pour répondre à ton exercice :
Si le nombre était 12. Pour récupérer le poids fort (1), tu ferais 12/10.0 = 1.2 et tu prendras la partie entière de 1.2 pour récupérer le 1. Facile.
Pour 123, tu divises par 10.0. Tu obtiens 12.3, tu redivises par 10 tu obtiens 1.23. La partie entière donne 1.
Donc l'algorithme est : je divise par 10.0 jusqu'à obtenir un nombre < 10. Et tu prends la partie entière.
D'ailleurs, il n'y a même pas besoin de la partie entière puisque 123/100 donne 1 en C (division d'entiers).
Bref comme je te disais, je te donnerai pas la réponse toute cuite. A toi de comprendre le mécanisme pour répondre à ton exercice :
Si le nombre était 12. Pour récupérer le poids fort (1), tu ferais 12/10.0 = 1.2 et tu prendras la partie entière de 1.2 pour récupérer le 1. Facile.
Pour 123, tu divises par 10.0. Tu obtiens 12.3, tu redivises par 10 tu obtiens 1.23. La partie entière donne 1.
Donc l'algorithme est : je divise par 10.0 jusqu'à obtenir un nombre < 10. Et tu prends la partie entière.
D'ailleurs, il n'y a même pas besoin de la partie entière puisque 123/100 donne 1 en C (division d'entiers).