Bonsoir
Je débute tout juste dans le langage C. Pour un projet info, on doit resoudre une equation de degré 4 par la methode dichotomique. Je connais cette methode sur le papier mais je n'arrive pas à la traduire en C.
Quelqu'un pourrait il m'aiguiller à ce sujet ?
Autre question, j'ai essayé de résoudre une equation de degré 4=0 de façon linéaire. Je défini un plage de recherche ( par exemple de -10 à 10 ), ensuite je defini une précision( combien de chiffre àprès la virgule ) et je met tout ça dans le boucle for en disant de calculer pour chaque valeur comprise dans la plage.
Un exemple :
Je demande de calculer de -2 à 2 avec une précision de 0.1. il va calculer avec les valeurs -2, -1.9, -1.8, 1.7..............................1.9, 2.
Ayant très peu de chance de tombé sur une valeur juste, je ne trouve pas comment faire pour afficher les solutions de l'équation avec la précision?
Voici le bout de code que j'ai commencé :
Merci d'avance à tous !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <stdio.h> #include <stdlib.h> #include <math.h> void resoudre() { float a,b,c,d,e,borne_inf,borne_sup,precision,x,resultat; a=2; b=5; c=6; d=8; e=4; borne_inf=-4; borne_sup=6; precision=0.0001; x=borne_inf; for(x=borne_inf; x<borne_sup; x+=precision) { if(resultat<precision&&resultat>(0-precision)) { printf("%f est un resultat\n",x); } resultat=(a*(pow(x,4))+b*(pow(x,3))+c*(pow(x,2))+d*x+e); } } int main () { resoudre(); system("PAUSE"); return 0; }
Pierre
Partager