Aller au contenu

Mathc initiation/Fichiers h : x 16d

Un livre de Wikilivres.


Sommaire


Installer ce fichier dans votre répertoire de travail.

zop.h
utilitaire
/* ---------------------------------- */
/*  Save as :   zop.h                 */
/* ---------------------------------- */
fraction add_f(
fraction f1,
fraction f2)
{
         f1 = mini_f(f1);
         f2 = mini_f(f2);

   f1.n = (f1.n)*(f2.d) + (f2.n)*(f1.d);
   f1.d = (f1.d)*(f2.d);

  return(mini_f(f1));
}
/* ------------------------------------ */
fraction sub_f(
fraction f1,
fraction f2)
{
         f1 = mini_f(f1);
         f2 = mini_f(f2);

   f1.n = (f1.n)*(f2.d) - (f2.n)*(f1.d);
   f1.d = (f1.d)*(f2.d);

  return(mini_f(f1));
}
/* ------------------------------------ */
fraction mul_f(
fraction f1,
fraction f2)
{
         f1 = mini_f(f1);
         f2 = mini_f(f2);

   f1.n = (f1.n)*(f2.n);
   f1.d = (f1.d)*(f2.d);

  return(mini_f(f1));
}
/* ------------------------------------ */
fraction div_f(
fraction f1,
fraction f2)
{

  if (!f2.n)
    {
     printf("\n div_f() error - 0 no inverse");
     printf("\n Press return to continue");
     getchar();
     exit(1);
    }
         f1 = mini_f(f1);
         f2 = mini_f(f2);

   f1.n = (f1.n)*(f2.d);
   f1.d = (f1.d)*(f2.n);

  return(mini_f(f1));
}
/* ------------------------------------ */
fraction inv_f(
fraction f)
{
 double T;

  f = mini_f(f);

  if (!f.n)
    {
     printf("\n inv_f() error - 0 no inverse");
     printf("\n Press return to continue");
     getchar();
     exit(1);
    }

      T = f.n;
    f.n = f.d;
    f.d = T;

  return(mini_f(f));
}
/* ------------------------------------ */
fraction mns_f(
fraction f1)
{
   f1.n = -1*(f1.n);

  return(mini_f(f1));
}
/* ------------------------------------ */
fraction abs_f(
fraction f1)
{
   f1.n = fabs(f1.n);

  return(mini_f(f1));
}

/* ------------------------------------ */
fraction pow_f(
fraction f,
fraction E)
{
         f = mini_f(f);
         E = mini_f(E);

   if(E.d==1)
    {
     f.n = pow(f.n,E.n);
     f.d = pow(f.d,E.n);
    }

  return(mini_f(f));
}
/* ---------------------------------- */
/* ---------------------------------- */


Ce fichier contient les fonctions pour faire les opérations de base sur les fractions.