Mathc initiation/Fichiers h : c48bc
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