bonjour tout le monde,
j'ai fait un exercice sur les polynomes(la somme et le produit de deux polynomes p et q),et j'aimerais que vous m'aidiez svp,pour corriger ce code,si c possible...
j'espère que c'est clair pour vous!Code:#include<stdio.h #include<stdlib.h #include<alloc.h> //prototype de la fonction somme poly* somme_polynome(poly*,poly*); //prototype de la fonction produit poly* produit_polynome(poly*,poly*); //definition de la structure polynome typedef struct polynome { int degre; double* coef; }poly; main() { poly *p1,*p2,somme; printf("degre de p1:\n"); scanf("%d",&p1.degre); printf("degre de p2:\n"); scanf("%d",&p2.degre); for(i=0;i<=p1.degre+1;i++) { printf("les coefficients de p1:\n"); scanf("%d",p1->coef[i]); } for(j=0;j<=p2.degre+1;j++) { printf("les coefficients de p2:\n"); scanf("%d",p2->coef[j]); } printf("la somme de ces 2polynomes est:\n %d",somme_polynome(&p1,&p2)); //comment afficher les 2polynomes p1 et p2 dans printf? printf("\nle produit de ces 2 polynomes est :%d",produit_polynome(&p1,&p2)); return 0; } //définition de la fonction somme poly* somme_polynome(poly*p,poly*q) { poly* inter,pq;//pq:polynome somme de p+q int i,j; //je determine le degre de pq:polynome somme //le degre de pq est le grand degre de ces 2polynomes p et q if(p.degre<q.degre) { inter=p.degre; p.degre=q.degre; q.degre=inter; } pq.degre=p.degre; //je dois louer la memoire pour les coefficients de pq //le nombre de coef de pq=p.degre+1 + q.degre+1 pq->coef=(double*)malloc( sizeof(double)*( pq.degre+1); //je dois remplir le tableau de coef de pq for(i=0;i<=q.degre;i++) //je commence d'abord par faire la somme des coef de degres plus petits pq->coef[i]=p->coef[i]+q->coef[i]; for(j=q.degre+1;j<=p.degre;j++) pq->coef[j]=p->coef[j]; return pq; } //la fonction produit poly* produit_polynome(poly* p,poly* q) { int i,j,somme=0; poly* g,pfoisq; //g un polynome intermediaire pfq.degre=p.degre+q.degre; pfq->coef=(double*)malloc(sizeof(double)*(pfq.degre+1)); i=0; do { for(j=0;j<q.degre+1;j++) { g->coef[i]=p->coef[i]*q->coef[j]; somme=somme+g->coef[i]; pfq->coef[i]=somme; } i++; } while(i==p.degre+1) return pfq; }
dans l'attente de votre correction
-----