Des problemes avec la liste chainee

diensk Messages postés 2 Date d'inscription   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
Configuration: Windows XP Internet Explorer 7.0

1 réponse

  1. pyschopathe Messages postés 2053 Statut Membre 137
     
    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 !
    0
    1. the F Messages postés 162 Statut Membre 13
       
      LE code est pas mal du tout mais je propose de definir //monome // en tant que nouvau type : typedef

      petite remarque :: j'ai enteudu parler d'un programme semblable qui a ete demandé en un examen TP chez moi à *****
      0
      1. pyschopathe Messages postés 2053 Statut Membre 137 > the F Messages postés 162 Statut Membre
         
        Tu as raison pour le typedef, il n'est pas implicite en C (contrairement à son grand frère le C++).

        En ce qui concerne l'exam de TP, je serais désolé d'avoir fait les devoirs de quelqu'un, mais bon...
        0