Mathc initiation/Fichiers h : c48bc

Un livre de Wikilivres.


Sommaire


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

a02_sub.c
/* ---------------------------------- */
/*  Save as :   a02_sub.c             */
/* ---------------------------------- */
#include    "x_hfile.h"
/* ------------------------------------ */
/* ------------------------------------ */
struct_ij X_rand_j_mns_i(
int Cn)
{
struct_ij value = {0,0}; 

int       c = 0;
int       m = 1;

int      ti = 0;
int      tj = 0;


 for(c = C1; c <= Cn; c++)
  {
  ti = rp_I(9);
  tj = rp_I(9);
  
  if(tj>ti) { value.i += ti * m;
	          value.j += tj * m; }
	          
  else      { value.i += tj * m;
	          value.j += ti * m; } 
	
  m *= 10;	             
  }           
  
  value.j += rp_I(9) * m;
       
return (value);
}
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
time_t   t;

struct_ij value = {0,0};

int n = 1;

  srand(time(&t));

do{clrscrn();
	
   printf("Subtraction\n\n\n\n");   
   printf(" j-i: %10d      \n\n",value.j-value.i);
   
   value = X_rand_j_mns_i(C3);
      
   printf("   j: %10d         \n",value.j    );
   printf("  -i: %10d       (%d)",value.i,n++);
   
   nlign(6);

}while(stop_w());  

   clrscrn();
   
   printf("Subtraction\n\n\n\n");   
   printf(" j-i: %10d      \n\n",value.j-value.i);
   
 return 0;
}
/* ---------------------------------- */
/* ---------------------------------- */


Dans cet exemple je présente ma manière de travailler sur une fonction qui est déjà dans la bibliothèque. J'en fait une copie, je modifie son nom "X_", et j'installe cette fonction dans le fichier c de mon programme.

Cette fonction permet de s'entraîner sans les retenues.

L'argument dans la fonction X_rand_j_mns_i(); permet de choisir la taille des soustractions.

Je n'ai pas introduit cette fonction dans la bibliothèque qui est déjà trop chargée.


Exemple de sortie écran :

Subtraction



 j-i:          0      

   j:       3375         
  -i:        131       (1)






 Press return to continue
 Press X      to stop    



Subtraction



 j-i:       3244      

   j:       5978         
  -i:        321       (2)






 Press return to continue
 Press X      to stop    

  

Subtraction



 j-i:       5657      

   j:       8588         
  -i:        465       (3)






 Press return to continue
 Press X      to stop    


 
Subtraction



 j-i:       8123      

   j:       6598         
  -i:        334       (4)






 Press return to continue
 Press X      to stop    

 

Subtraction



 j-i:       6264      

   j:       1894         
  -i:        581       (5)






 Press return to continue
 Press X      to stop