Question 1 : addition d’un polynôme et d’un monôme
Ecrire une fonction additionMonome qui additionne le monôme représenté par les valeurs coefficient et exposant au polynôme passé en paramètre. Nous supposons que le polynôme est ordonné suivant l’ordre décroissant de ses exposants, l’addition doit conserver cet ordre.
Question 2 : addition de polynômes
En utilisant la fonction additionMonome, écrire une fonction additionPolynome. Les deux polynômes donnés
en argument sont ordonnés suivant l’ordre décroissant de leurs exposants. L’addition doit conserver cet ordre, c’est-à-dire que le résultat de l’addition est un polynôme dont les monômes sont aussi ordonnées dans
l’ordre décroissant des exposants.
struct polynome* additionPolynome (struct polynome* p1, struct polynome* p2);
j'ai écrit :
struct polynome {
double coeff;
unsigned long exp;
struct polynome* suivant;
};
struct polynome* additionMonome (struct polynome* p, struct polynome* m) {
struct polynome* t=p,* y;
while(t != NULL){
tous les cas
}
return p;
}
mais je ne trouve pas.
comment écrivez-vous ces fonctions ?
merci.
il faut imaginer un curseur dans chaque polynôme qui se déplace au fur et à mesure qu'on les parcourt.
Au début il est là : <math>\(a%20%3D%20%7Cx%5E3%20%2B%202x%20%2B%201\)</math> <math>\(b%20%3D%20%7Cx%5E4%20-%203x\)</math>
On ne s'arette que lorsqu'on arrive à la fin d'un des deux polynôme.
A ce niveau, trois possibilités :
-> l'exp. de a est supérieur
-> l'exp. de b est supérieur
-> ils sont égaux.
ici, à ce stade, exp. de b > exp de a. Il faut donc le placer avant.
Par un jeu d'échange de variable, on arrive là : <math>\(a%20%3D%20%7Cx%5E4%20%2B%20x%5E3%20%2B%202x%20%2B%201\)</math> <math>\(b%20%3D%20%7C-3x\)</math>
Et pour finir, on se déplace au monôme suivant dans a : <math>\(a%20%3D%20x%5E4%20%2B%20%7Cx%5E3%20%2B%202x%20%2B%201\)</math> <math>\(b%20%3D%20%7C%20-3x\)</math>
nouveau tour de boucle, à nouveau trois possibilités.
comme exp de a > exp de b, on ne change rien, on se déplace juste encore dans a. Nouvelle situation :
exp. de a == exp. de b => on ajoute coeff. de b à coeff. de a <math>\(a%20%3D%20x%5E4%20%2B%20x%5E3%20%7C-1x%20%2B%201\)</math> <math>\(b%20%3D%20%7C-3x\)</math>
On passe au monôme suivant dans les deux polynômes : <math>\(a%20%3D%20x%5E4%20%2B%20x%5E3%20-1x%20%7C%2B1\)</math> <math>\(b%20%3D%20-3x%20%7C\)</math>
b est NULL, on s'arrète.
---
Avec ça, tu devrais pouvoir dégager un premier algo que tu pourras affiner ensuite. ( par exemple : Si on s'arrète car A est NULL mais qui reste des monôme dans B.. Si l'addition de deux coeff est nulle..)
Prend le temps de bien réfléchir avant de commencer à coder
fonctions
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.