All pastes #250935 Raw Edit

Quelqu'un

public c v1 · immutable
#250935 ·published 2006-11-17 15:32 UTC
rendered paste body
#include <stdio.h>#include <math.h>#define PAS_M1 0.1#define PI 3.141592653589793238462643383279502884197typedef struct encadrement encadrement;struct encadrement {	double min;	double min_val;	double max;	double max_val;};double moyenne_M1(double r){       double a=0.0;       double limite=acos(10.0/r);       double somme=0;       int nombre=0;       while( a < limite )       {              somme+=10.0*cos(a);              a+=PAS_M1;              nombre++;       }       if ( nombre < 1 )       	return 0;      	       return somme/nombre;}double moyenne_M2(double r){       double ret=(PI-acos(10.0/r))*r+r;       return ret;}double valeur(double r){       return (moyenne_M1(r)*acos(10.0/r)+              (moyenne_M2(r))*(PI-acos(10.0/r)))/PI;}encadrement encadrer_min(double a,double valeur_a,double b,double valeur_b,int limite){	double c;	double valeur_c;	double d;	double valeur_d;	double e;	double valeur_e;	encadrement solution;	if ( limite < 0 )	{		solution.min=a;		solution.min_val=valeur_a;		solution.max=b;		solution.max_val=valeur_b;		return solution;	}	c=(a+b)/2.0;	valeur_c=valeur(c);	if ( valeur_c > valeur_a )		return encadrer_min(a,valeur_a,c,valeur_c,limite-1);	else if ( valeur_c > valeur_b )		return encadrer_min(c,valeur_c,b,valeur_b,limite-1);	else	{		d=(a+c)/2.0;		valeur_d=valeur(d);		if ( valeur_d > valeur_c )			return encadrer_min(d,valeur_d,b,valeur_b,limite-1);		e=(c+b)/2.0;		valeur_e=valeur(e);		if ( valeur_e > valeur_c )			return encadrer_min(a,valeur_a,e,valeur_e,limite-1);		else			return encadrer_min(d,valeur_d,e,valeur_e,limite-1);	}}int main (void){ 	encadrement encadre;	encadre=encadrer_min(10,valeur(10),30,valeur(30),200);	printf("entre f(%.20lf)=%.10lf et f(%.20lf)=%.10lf\n",		encadre.min,encadre.min_val,encadre.max,encadre.max_val);  /*/	double r=10;	while ( r <= 30 )	{		printf("%lf : %lf\n",r,valeur(r));		r=r+1; 	}	//printf("%lf",valeur(r));/*/	system("PAUSE");	return 0;}