programmation c polynomes

programmation c polynomes - C - Programmation

Marsh Posté le 24-06-2015 à 15:37:13    

Bonjour, je dois faire programme qui peut:
–initialiser un polynôme au polynôme nul
–lire un polynôme, calculer sa dérivée par rapport à x et écrire le résultat
–lire deux polynômes, calculer leur somme et écrire le résultat

 
Donné dans l'énoncé:

Code :
  1. typedef struct Monome {
  2.     double coefficient;
  3.     long degre;
  4.     struct Monome * next;
  5. } Monome;
  6. typedef struct{
  7.     List * monomes;
  8.     long degre;
  9. } Polynome;


 j'ai fait le début de mon programme ci-dessous, cependant je n'ai pas utilisé la structure que mon enseignant m'a donné(voir en bas), j'aimerais savoir si quelqu'un pourrait m'aider à modifier mon programme de telle sorte que la structure que j'ai faite soit remplacée par celle de mon enseignant (que mon programme utilise plutôt la structure donnée par mon ensegnant)?
Merci d'avance

Code :
  1. typedef struct Monome {
  2. double coefficient;
  3. long degre;
  4. struct Monome * next;
  5. } Monome;
  6. typedef Monome List;
  7. typedef struct{
  8. List * monomes;
  9. long degre;
  10. } Polynome;


Voici ce que j'ai fait :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct polynome{
  4. int degre;
  5. float *coeff;
  6. }polynome;
  7. polynome *initialiser()
  8. {
  9. polynome *p;
  10. int deg;
  11. float *tab;
  12. int i;
  13. printf("Degre =\n" );
  14. scanf("%d", °);
  15. tab = (float *) malloc(deg * sizeof(float));
  16. for (i=0; i<=deg; i++)
  17. {
  18. printf("Coeff x^%d = ", i);
  19. scanf("%f", tab+i);
  20. }
  21. p = (polynome *) malloc(sizeof(polynome));
  22. p->degre = deg;
  23. p->coeff = tab;
  24. return p;
  25. }
  26. void afficher(polynome *p)
  27. {
  28. int i;
  29. printf("P(x) = " );
  30. for (i=p->degre; i>0; i--)
  31. {
  32. if (p->coeff[i] != 0)
  33. printf("%f*x^%d + ", p->coeff[i], i);
  34. }
  35. printf("%fx^0\n\n", p->coeff[0]);
  36. }
  37. int main(int argc, char **argv)
  38. {
  39. polynome *p1, *p2, *p3;
  40. p1 = initialiser();
  41. afficher(p1);
  42. p2 = initialiser();
  43. afficher(p2);
  44. p3 = ajouter(p1, p2);
  45. afficher(p3);
  46. free(p1);
  47. free(p2);
  48. free(p3);
  49. exit(0);
  50. }


Message édité par couturierclaire le 24-06-2015 à 15:54:22
Reply

Marsh Posté le 24-06-2015 à 15:37:13   

Reply

Marsh Posté le 24-06-2015 à 18:13:30    

Code :
  1. scanf("%d", °);
  2. tab = (float *)malloc(deg * sizeof(float));


 :lol:  :lol:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed