Aller au contenu

Mathc complexes/Fichiers c : re m

Un livre de Wikilivres.

Application

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

c00b.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r, int c)
{
double **A   = rE_mZ(i_mZ(r,c), 999, 1E-0 );
double **B   = rE_mZ(i_mZ(r,c), 999, 1E-1 );
double **C   = rE_mZ(i_mZ(r,c), 999, 1E-2 );
double **D   = rE_mZ(i_mZ(r,c), 999, 1E-3);

  clrscrn();
  printf("re_mZ() : floating point\n\n");
  
  printf(" A :   xxx   re_mZ(A,999,11E-0);\n");
  p_mZ(A, S12,P0, S8,P0, C3);
 
  printf(" B :  xx.x   re_mZ(B,999,1E-1 );\n");
  p_mZ(B, S12,P1, S8,P1, C3);
  stop();
  
  clrscrn(); 
  printf(" C :  x.xx   re_mZ(C,999,1E-2 );\n" );
  p_mZ(C, S12,P2, S8,P2, C3);
  
  printf(" D : x.xxx   re_mZ(D,999,1E-3 );\n" );
  p_mZ(D, S12,P3, S8,P3, C3);
   
  f_mZ(A);
  f_mZ(B);
  f_mZ(C);  
  f_mZ(D);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do
        fun(R4,C3);

  while(stop_w());       

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


La fonction re_mZ() 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_mZ() : floating point

 A :   xxx   re_mZ(A,999,11E-0);

        +196    -407i         -551    -309i         +556    +328i 
        +726    +168i         -963    +114i         -251    -493i 
         +82    -101i         +258    +564i         -459    +544i 
        -363    -449i         +784    +484i         -203    -493i 

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

       +66.8   -26.1i        +51.0   -89.5i         +7.8   +63.4i 
        +8.0   -99.1i         +4.2   -34.9i        -30.1   +31.6i 
       +67.6    -2.7i        -48.3   +35.8i        +14.0   -45.3i 
       +85.0   -93.9i        -55.3   -82.7i        -50.3    +1.2i 

 Press return to continue. 


 C :  x.xx   re_mZ(C,999,1E-2 );

       +0.90   -5.85i        -1.79   +5.92i        -0.69   +1.00i 
       +8.04   +7.36i        -3.61   +3.14i        +3.50   +4.38i 
       -6.67   -4.29i        -1.49   +7.08i        -7.77   -4.49i 
       +0.24   +1.72i        +1.94   -2.25i        +5.30   +0.52i 

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

      +0.396  +0.380i       -0.991  -0.667i       -0.925  -0.213i 
      -0.397  -0.015i       -0.797  -0.575i       +0.326  +0.584i 
      -0.675  +0.130i       +0.040  +0.754i       +0.162  -0.389i 
      +0.910  +0.828i       -0.537  -0.059i       +0.536  -0.033i 


 Press return to continue
 Press X      to stop