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

c08c.c
'
/* ------------------------------ */
/*  Save as :   c08c.c            */
/* ------------------------------ */
#include      "x_a.h"
/* ------------------------------ */
int main(void)
{
time_t t;   
int    n =0;

srand(time(&t));  

 clrscrn();
 for(n = 0; n<10 ; ++n)    /* 0..8 */
    printf("%4d: %10d \n",n,rand() % 9);
 stop();
 
 clrscrn();
 for(n = 0; n<10 ; ++n)    /* 1..9 */
   printf("%4d: %10d \n",n,(rand() % 9)+1);
 stop();

 return 0;
}


Nous allons voir le code des fonctions r_I(), rp_I() du fichier "z_r.h".

Dans la première boucle nous avons [rand() % 9]

rand() nous donne un nombre aléatoire.

L'opérateur modulo "%" nous donne le reste de la division de rand() par 9

Le reste de la division peut être un nombres entre 0 et 8.

Nous, nous souhaiterions une valeur entre 1 et 9.


Dans la deuxième boucle on ajoute 1 cela va donc nous donner tous les nombres entre 1 et 9.

Cela va supprimer le zéro qui peut poser des problèmes.


Exemple de sortie écran :

   0:          8 
   1:          4 
   2:          4 
   3:          4 
   4:          2 
   5:          0 
   6:          0 
   7:          5 
   8:          0 
   9:          3 

 Press return to continue.


Exemple de sortie écran :

   0:          3 
   1:          4 
   2:          4 
   3:          5 
   4:          6 
   5:          7 
   6:          6 
   7:          8 
   8:          8 
   9:          8 

 Press return to continue.
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.