Mathc initiation/Fichiers h : x 16c

Un livre de Wikilivres.
Aller à la navigation Aller à la recherche


Sommaire


Installer ce fichier dans votre répertoire de travail.

Crystal Clear mimetype source h.png zomini.h
utilitaire
/* ---------------------------------- */
/*  Save as :   zomini.h              */
/* ---------------------------------- */
void error_f(
fraction f
)
{
  if(f.d==0)
    {
     printf("\n Error : */0\n");
     printf("\n Press return to continue.\n");
     fflush(stdout);
     getchar();
     exit(EXIT_FAILURE);
    }         
}
/* ------------------------------------ */
double modf_f(
fraction f
)
{
 double x;

 modf((f.n/f.d),&x);

 return(x);
}
/* ------------------------------------ */
fraction mini_f(
fraction f
)
{
fraction ft;
double    t;
 
  error_f(f);
  
  if(!f.n)
    {f.d = 1;
     return(f);}

  if(f.n == f.d)
    {f.n = 1;
     f.d = 1;
     return(f);}
     
 if(f.d < 0 )
   {
    f.n *= -1;
    f.d *= -1;
   }     

 ft.n = fabs(f.n);
 ft.d = fabs(f.d);

 while (ft.n>0)
 {
  if(ft.n<ft.d)
  {
      t=ft.n;
   ft.n=ft.d;
   ft.d=t;
   }
 ft.n-=ft.d*modf_f(ft);
 }

 f.n/=ft.d;
 f.d/=ft.d;

 return(f);
}


Ce fichier contient les fonctions pour réduire les fractions.