Calculer les racines d'une fonction que l'on rentre dans le programme.

Contenu du snippet

C'est encore un petit programme que la classe a mis 2 heures pour le trouver.
En espérant qu'il est pas trop mal écrit.

Source / Exemple :


#include <stdio.h>
#include <conio.h>
#include <math.h>
#define F(x) (2*x*x*x-11*x*x-25*x+83)

float SP(float a,float b,float p);

main()
{float p,x1,x2,n,a,b,r,t;
char A[20];

printf("\nDonnez la valeur de x1:");gets(A);sscanf(A,"%f",&x1);
printf("\nDonnez la valeur de x2:");gets(A);sscanf(A,"%f",&x2);
if (x1>x2)
{t=x1;x1=x2;x2=t;}
n=(x2-x1)/10;
printf("\nDonnez la precision p:");gets(A);sscanf(A,"%f",&p);
a=x1;b=x1+n;
do
  {if(F(a)*F(b)<0)
  {r=SP(a,b,p);
  printf("\n %f",r);}
  a=b;b=b+n;}
while (b<x2);
getch();}

float SP(float a,float b,float p)
{float l1,l2,m,c;
  l1=a;l2=b;
  do
  {m=(l1+l2)/2;
  c=l2;l2=m;
  if(F(l1)*F(l2)>0)
    {l1=l2;l2=c;}
  }
while (fabs(m-c)>p);
return (m);}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_Ju)