Rechercher : dans
Par :

FRACTION EN LANGAGE C

Dernière réponse le 17 fév 2008 à 20:13:28 Coucou1504, le 17 fév 2008 à 11:55:49 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « FRACTION EN LANGAGE C » dans :
Langage C++ - Les types de données Voir Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données Voir Les types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...

1

Mahmah, le 17 fév 2008 à 12:04:58

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.

Répondre à Mahmah

2

Coucou1504, le 17 fév 2008 à 19:03:46

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

Répondre à Coucou1504

3

Mahmah, le 17 fév 2008 à 19:13:35

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.

Répondre à Mahmah

4

Coucou1504, le 17 fév 2008 à 19:25:12

Sur ça je suis d'accord mais moi ce que je voudrais savoir c comment faire pour afficher en C mon résultat en fraction!!!
merci de ton aide!!!

Répondre à Coucou1504

5

Mahmah, le 17 fév 2008 à 19:55:34

Purement affichage donc ?

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.

Répondre à Mahmah

6

 Coucou1504, le 17 fév 2008 à 20:13:28

Merci tu as répond à ma question c'est ce que je voulais savoir ce n'est pas bête cette solution et c'est logique
encore merci
bonne soirée!!

Répondre à Coucou1504
Collection CommentÇaMarche.net