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
| include <math.h>
#include <stdio.h>
void equation( double a, double b, double c, double *x1, double *x2, double *z1,double *z2 )
{
double d = (pow(b,2)- 4*a*c);
double D = 0;
//int i;
double help0, help1,help2,help3;
double partieImag1,partieImag2, partieReelle1, partieReelle2;
printf("\n Le discrminant est d = %.3lf\n",d );
if (d < 0)
{
printf("\n Solution complexe \n");
help0 = d;// le discriminant etant negatif
help1 = - help0;//je prends la valeur positive
help2 = sqrt(help1);
help3 = - sqrt(help1);
partieReelle1 = (-b / 2 * a);
partieImag1 = (help2 / 2 * a);
partieReelle2 = (-b / 2 * a);
partieImag2 = (help3 / 2 * a);
*z1 = partieReelle1 + partieImag1 ;
*z2 = partieReelle2 + partieImag2 ;
}
else if (d == 0)
{
printf(" Une solution relle \n");
*x1 = (-b)/(2*a);
}
else
{
printf("\n Deux solution Reelles\n");
*x1 = (-b + sqrt (d))/ (2 * a);
*x2 = (-b - sqrt (d))/ (2 * a);
}
}
main ()
{
double a,b,c,result1, result2, result3, result4;
double partieImag1 = 0;
double partieImag2 = 0;
double partieReelle1 = 0;
double partieReelle2 = 0;
erg1 = 0;
erg2 = 0;
erg3 = 0;
erg4 = 0;
int i = 0;
printf("Entrez a:\t");
scanf("%lf", &a);
printf("Entrez b:\t");
scanf("%lf", &b);
printf("Entrez c:\t");
scanf("%lf", &c);
equation (a,b,c,&result,&result2,&result3,&result4);
if(erg1 != 0 )
{
printf("\n x1 = %f \n",result1);
}
if(erg2 != 0)
{
printf("\n x2 = %f \n",result2);
}
if(erg3 != 0)
{
printf("\n z1 = %f + i %f \n",result3,partieReelle1,partieImag1);
}
if(erg4 != 0)
{
printf("\n z2 = %f + i %f \n",result4,partieReelle2,partieImag2);
}
} |
Partager