FRACTION EN LANGAGE C
Résolu
Coucou1504
Messages postés
65
Statut
Membre
-
Coucou1504 Messages postés 65 Statut Membre -
Coucou1504 Messages postés 65 Statut Membre -
Bonjour,
Je dois écrire un programme qui donne le résultt sous forme de fraction le produit de fraction. J'arrive à obtenir un résultat mais pas sous fraction. Comment obtenir un résultat sous fraction??
Merci d'avance
Je dois écrire un programme qui donne le résultt sous forme de fraction le produit de fraction. J'arrive à obtenir un résultat mais pas sous fraction. Comment obtenir un résultat sous fraction??
Merci d'avance
6 réponses
Purement affichage donc ?
23 / 11
pour un affichage "joli" il faut récupérer le nombre de caractères qu'il faut pour écrire chaque nombre (log 10 du nombre) pour déterminer le nombre d'espaces à insérer devant le plus petit des deux pour qu'ils soient alignés et aussi pour savoir le nombre de caractère à mettre pour dessiner la barre de fraction.
M.
printf( "%d / %d\n", numerateur, denominateur );
23 / 11
pour un affichage "joli" il faut récupérer le nombre de caractères qu'il faut pour écrire chaque nombre (log 10 du nombre) pour déterminer le nombre d'espaces à insérer devant le plus petit des deux pour qu'ils soient alignés et aussi pour savoir le nombre de caractère à mettre pour dessiner la barre de fraction.
3 ---- 27
M.
Bonjour,
Il n'y a pas de fraction en C. Au mieux des nombres à virgule mais c'est pas la joie pour retrouver la fraction. (en fait ça se fait pas trop mal mais bon...) L'idéal est de gérer soit même deux entiers, pour le numérateur et le dénominateur.
(Pour peu que ce soit aussi ton format d'entrée de tes données)
M.
Il n'y a pas de fraction en C. Au mieux des nombres à virgule mais c'est pas la joie pour retrouver la fraction. (en fait ça se fait pas trop mal mais bon...) L'idéal est de gérer soit même deux entiers, pour le numérateur et le dénominateur.
(Pour peu que ce soit aussi ton format d'entrée de tes données)
M.
merci de m'avoir repondu mais comment puis-je faire pour simplifier une fraction, car dans mon énoncé on me demainde aussi de simplifier une fraction!! Il n'y a pour l'instant que cette "petite" chose qui m'embête!!!
merci d'avance
merci d'avance
Ah, et bien... comme en math...
18 / 6 = 3 / 1 car
18 = 2 * 3 * 3 et
6 = 2 * 3
En bref, on décompose chacun en produit de facteurs premiers et on élimine à part égal les facteurs communs.
1024 / 96
1024 = 2^10
96 = 2^5 * 3
donc 1024 / 96 = 2^(10-5) * 3^(0-1) = 32 / 3
Il faut créer deux tableaux dont l'indice représente le ième nombre premier et la valeur sa puissance dans la décomposition du nombre.
M.
Ou alors force brute, tant que les deux sont divisibles par un entier, tu les divises, quand ils ne le sont plus tu testes avec l'entier suivant jusqu'à ce que cet entier soit inférieur à la racine (/ou la moitié...) du plus petit des deux nombres.
18 / 6 = 3 / 1 car
18 = 2 * 3 * 3 et
6 = 2 * 3
En bref, on décompose chacun en produit de facteurs premiers et on élimine à part égal les facteurs communs.
1024 / 96
1024 = 2^10
96 = 2^5 * 3
donc 1024 / 96 = 2^(10-5) * 3^(0-1) = 32 / 3
Il faut créer deux tableaux dont l'indice représente le ième nombre premier et la valeur sa puissance dans la décomposition du nombre.
M.
Ou alors force brute, tant que les deux sont divisibles par un entier, tu les divises, quand ils ne le sont plus tu testes avec l'entier suivant jusqu'à ce que cet entier soit inférieur à la racine (/ou la moitié...) du plus petit des deux nombres.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question