Les fonctions en C
Fermé
bazalla
Messages postés
3
Date d'inscription
lundi 4 mars 2013
Statut
Membre
Dernière intervention
5 mars 2013
-
4 mars 2013 à 20:39
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 5 mars 2013 à 23:54
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 5 mars 2013 à 23:54
A voir également:
- Les fonctions en C
- Ces codes secrets vous donnent accès aux fonctions cachées de votre smartphone Android - Accueil - Android
- 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
- Formule permettant de remplir automatiquement un tableau excel ✓ - Forum Excel
3 réponses
Utilisateur anonyme
4 mars 2013 à 23:13
4 mars 2013 à 23:13
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)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
4 mars 2013 à 23:55
4 mars 2013 à 23:55
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,
bazalla
Messages postés
3
Date d'inscription
lundi 4 mars 2013
Statut
Membre
Dernière intervention
5 mars 2013
5 mars 2013 à 18:16
5 mars 2013 à 18:16
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.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
5 mars 2013 à 23:54
5 mars 2013 à 23:54
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).