Des problemes avec la liste chainee
diensk
Messages postés
2
Date d'inscription
Statut
Membre
-
pyschopathe Messages postés 2053 Statut Membre -
pyschopathe Messages postés 2053 Statut Membre -
Bonjour,
dorenavant, je ne sais vraiment quoi faire avec le languae c; Poutant, je l'aime beaucoup.Alors, le probleme que j'ai maintenant, c'est que je n'arrive pas vraiment a ecrire un une fonction qui prend en parametre un polynome et rajoute u monome a la liste et l'ecriture d'une fontion de saisie au clavier d'un polynome.Donc, il me serait vraiment bien si j'arrive a comprendre comment faire ces choses la en c.
Merci d'avance
dorenavant, je ne sais vraiment quoi faire avec le languae c; Poutant, je l'aime beaucoup.Alors, le probleme que j'ai maintenant, c'est que je n'arrive pas vraiment a ecrire un une fonction qui prend en parametre un polynome et rajoute u monome a la liste et l'ecriture d'une fontion de saisie au clavier d'un polynome.Donc, il me serait vraiment bien si j'arrive a comprendre comment faire ces choses la en c.
Merci d'avance
Configuration: Windows XP Internet Explorer 7.0
1 réponse
-
Ben tu peux sûrement faire un truc du genre :
struct { int degre; double scalaire; struct Monome * next; } Monome; void ajouterMonome( Monome * polynome, Monome * new ) { // Si le degré du nouveau monome est inférieur au premier, on l'ajoute en tête. if ( new->degre < polynome->degre ) { new->next = polynome; } else { // Sinon on parcourt la liste chainée jusqu'à trouver un monôme de degré inférieur ou égal Monome * current = polynome->next; while ( new->degre > current->degre ) { if ( current->next != null ) { current = current->next; } } // Si le monôme a le même degré, on le remplace if ( new->degre == current->degre ) { current->scalaire = new->scalaire; } else { // Sinon on ajoute le nouveau monôme avant le courant Monome * tmp = current->next; current->next = new; new->next = tmp; } } }Et tu utilises comme ça :// Déclaration d'un polynôme p // [...] // Le monôme à ajouter : Monome m; m->degre = 5; m->scalaire = 3/2; m->next = NULL; ajouterMonome( &p, &m );
Bon, mon C est un peu rouillé, je ne suis pas sûr du code, et je ne suis pas tout à fait sûr que ce soit ce qui était demandé, alors si tu as d'autres questions, n'hésite pas !