1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| #include <stdio.h>
#include <stdlib.h>
// test
float polynome (int degre,int xs,float A[])
{
int I;
float pr;
for ( pr=0.0 ,I=0 ; I<=degre ; I++)
pr = pr*xs + A[degre-I];
return pr;
}
int main(int argc, char *argv[])
{
int degree = 0;
char aff ;
int x ;
int p;
printf("Quel est le degree du polynome ? " );
scanf(" %d", °ree);
printf("voulez vous calcuper p(x) et p'(x) ? " );
scanf(" %c", &aff);
if (aff=='o')
{
printf("Entrez X : ");
scanf(" %d", &x);
printf("Le degree du polynome est %d\n", degree);
int* tabCoeff = malloc((degree + 1) * sizeof(int));
int degree_courant;
int d;
for(degree_courant = 0; degree_courant <= degree; degree_courant = degree_courant+1)
{
int coeff = 0;
printf("Entrez le coefficient pour le degree %d : ", degree_courant);
scanf(" %d", &coeff);
tabCoeff[degree_courant] = coeff;
d=degree-degree_courant;
p = p*x + tabCoeff[d];
}
printf("La valeur du polynome est %d\n",p);
int cpt;
printf("Le polynome est : " );
for(cpt = 0; cpt < degree + 1; cpt = cpt+1)
{
if(cpt < degree)
{
printf("%dX^%d + ", tabCoeff[cpt], cpt);
}
else
{
printf("%dX^%d\n", tabCoeff[cpt], cpt);
}
// for ( I=0 ; I<=N ; I++) E=N-I; // p = p*XX + A[E];
}
}
return 0;
}
//LE CODE TROUVE sur le net :
#include <stdio.h>
#include <math.h>
main()
{
int I; /* indice courant */
int N; /* degré du polynôme */
float X; /* argument */
float P; /* résultat */
float A[N];/* tableau des coefficients de P */
/* Saisie du degré N et de l'argument X */
printf("Entrer le degré N du polynôme (max.20) : ");
scanf("%d", &N);
printf("Entrer la valeur X de l'argument : ");
scanf("%f", &X);
/* Saisie des coefficients */
for (I=0 ; I<=N ; I++)
{
printf("Entrer le coefficient A%d : ", I);
scanf("%f", &A[I]);
}
/* a) Calcul à l'aide de pow
for (P=0.0, I=0 ; I<=N ; I++)
P += A[I]*pow(X,I); */
/* b) Calcul de Horner */
/* commencer le calcul avec le dernier coefficient...*/
for (P=0.0, I=0 ; I<=N ; I++)
P = P*X + A[N-I];
/* Edition du résultat */
printf("Valeur du polynôme pour X = %.2f : %.2f\n", X, P);
return P;
} |
Partager