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 :
- typedef struct Monome {
- double coefficient;
- long degre;
- struct Monome * next;
- } Monome;
- typedef struct{
- List * monomes;
- long degre;
- } 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 :
- typedef struct Monome {
- double coefficient;
- long degre;
- struct Monome * next;
- } Monome;
- typedef Monome List;
- typedef struct{
- List * monomes;
- long degre;
- } Polynome;
|
Voici ce que j'ai fait :
Code :
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct polynome{
- int degre;
- float *coeff;
- }polynome;
- polynome *initialiser()
- {
- polynome *p;
- int deg;
- float *tab;
- int i;
- printf("Degre =\n" );
- scanf("%d", °);
- tab = (float *) malloc(deg * sizeof(float));
- for (i=0; i<=deg; i++)
- {
- printf("Coeff x^%d = ", i);
- scanf("%f", tab+i);
- }
- p = (polynome *) malloc(sizeof(polynome));
- p->degre = deg;
- p->coeff = tab;
- return p;
- }
- void afficher(polynome *p)
- {
- int i;
- printf("P(x) = " );
- for (i=p->degre; i>0; i--)
- {
- if (p->coeff[i] != 0)
- printf("%f*x^%d + ", p->coeff[i], i);
- }
- printf("%fx^0\n\n", p->coeff[0]);
- }
- int main(int argc, char **argv)
- {
- polynome *p1, *p2, *p3;
- p1 = initialiser();
- afficher(p1);
- p2 = initialiser();
- afficher(p2);
- p3 = ajouter(p1, p2);
- afficher(p3);
- free(p1);
- free(p2);
- free(p3);
- exit(0);
- }
|
Message édité par couturierclaire le 24-06-2015 à 15:54:22