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
| /*equation du second degre version 3*/
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
/*declaration des prototypes des fonctions*/
int delta(int x,int y,int z);
double reel(int x,int y,int z,int t);/*la variable t est un parametre de controle des fonction*/
double imaginaire(int x,int y,int z,int t);
int main(void)
{
/*declaration des variables*/
int a,b,c,d;
int f=1;
int g=3;
printf("\nTroisieme version de mon programme de resolution d'equation du second degre\n");
printf("\nVeuillez entrer une valeur pour a,\na= ");
scanf("%d",&a);
printf("\nVeuillez entrer une valeur pour b,\nb= ");
scanf("%d",&b);
printf("\nVeuillez entrer une valeur pour c,\nc= ");
scanf("%d",&c);
/*utilisation de la fonction delta*/
d=delta(a,b,c);
printf("\ndelta=%d\n",d);
if (d>=0)
{
printf("\ndelta est positif et il y a donc 2 solutions reels\n");
printf("\nsolution1:%f\n \nsolution2:%f\n",reel(a,b,d,f),reel(a,b,d,g));
}
else
{
printf("\ndelta est negatif et il y a donc 2 solutions complexe\n");
printf("\nsolution1:%f+%fi\n\nsolution2:%f-%fi\n",imaginaire(a,b,d,f),imaginaire(a,b,d,g),imaginaire(a,b,d,f),imaginaire(a,b,d,g));
}
system("pause");
return 0;
}
/*declaration des fonctions*/
int delta(int x,int y,int z)
{
return (y*y-(4*x*z));
}
double reel(int x,int y,int z,int t)
{
double x1,x2;
x1=(-y+sqrt(z))/(2*x);
x2=(-y-sqrt(z))/(2*x);
if (t==1)
return x1;
else
return x2;
}
double imaginaire(int x,int y,int z,int t)
{
double xz,xzi;
xz=-y ;/*partie reel de la solution*/
xz=xz/(2*x);
xzi=sqrt(-z)/(2*x);/*partie imaginaire de la solution*/
if(t==1)
return xz;
else
return xzi;
} |
Partager