Mathc matrices/Fichiers c : re m

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


Installer et compiler ces fichiers dans votre répertoire de travail.

Crystal Clear mimetype source c.png re_m.c
nombres à virgule
/* ------------------------------------ */
/*  Save as :   re_m.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r, int c)
{
double **A   = rE_mR(i_mR(r,c), 999, 1E-0);
double **B   = rE_mR(i_mR(r,c), 999, 1E-1);
double **C   = rE_mR(i_mR(r,c), 999, 1E-2);
double **D   = rE_mR(i_mR(r,c), 999, 1E-3);

  clrscrn();
  printf("re_mR() : floating point\n\n");
  
  printf(" A :   xxx   rE_mR(A,999,1E-0);\n");
  p_mR(A,10,0,C6);
 
  printf(" B :  xx.x   rE_mR(B,999,0.1E-1);\n");
  p_mR(B,10,1,C6);
  stop();
  
  clrscrn(); 
  printf(" C :  x.xx   rE_mR(C,999,1E-2);\n" );
  p_mR(C,10,2,C6);
  
  printf(" D : x.xxx   rE_mR(D,999,1E-3);\n" );
  p_mR(D,10,3,C6);
   
  f_mR(A);
  f_mR(B);
  f_mR(C);  
  f_mR(D);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do
        fun(rp_I(R4),rp_I(C6));

  while(stop_w());       

  return 0;
}

Ici nous travaillons avec la fonction rE_mR().

Cette fonction nous permet d'obtenir des valeurs aléatoires sous forme de nombres avec des virgules.

C'est le troisième paramètre de la fonction qui se charge de ce travail.

  • 1E-1 permet d'avoir des nombres avec un chiffre après la virgule.
  • 1E-2 permet d'avoir des nombres avec deux chiffres après la virgule.

...

Exemple de sortie écran :

re_mR() : floating point 

 A :   xxx   rE_mR(A,999,1E-0 );

      -493       -677       -705       +486       -277 
      +226       +234       +670       -137       +174 
      -991       -139       -505        -91         +2 

 B :  xx.x   rE_mR(B,999,1E-1);

     -14.9      -60.1      +29.8      -37.1      +61.4 
     +49.6      -29.3      -67.7      -38.5      -93.3 
     +36.8      -42.3      -38.7      -12.7      -76.9 

 Press return to continue.
 C :  x.xx   rE_mR(C,999,1E-2);

     -3.13      -6.19      +4.46      +0.18      -8.23 
     -4.41      +2.44      -7.75      -1.11      -0.99 
     -9.49      +1.02      -9.55      -1.73      +9.10 

 D : x.xxx   rE_mR(D,999,1E-3);

    +0.956     -0.321     -0.511     -0.255     -0.411 
    -0.843     +0.750     -0.703     -0.521     -0.853 
    -0.355     -0.607     +0.994     -0.461     -0.733 


 Press return to continue
 Press X      to stop