Mathc initiation/Fichiers c : c15m
Installer et compiler ces fichiers dans votre répertoire de travail.
a02_add.c |
---|
/* ---------------------------------- */
/* Save as : a02_add.c */
/* ---------------------------------- */
#include "x_hfile.h"
/* ------------------------------------ */
/* ------------------------------------ */
struct_ij X_rand_j_pls_i(
int Cn)
{
struct_ij value = {0,0};
int c = 0;
int m = 1;
int tj = 0;
for(c = C1; c <= Cn; c++)
{
tj = rp_I(9);
if(tj==9) { value.j += 9 * m;
value.i += 0 * m; }
else if(tj==8) { value.j += 8 * m;
value.i += 1 * m; }
else if(tj==7) { value.j += 7 * m;
value.i += rp_I(2) * m; }
else if(tj==6) { value.j += 6 * m;
value.i += rp_I(3) * m; }
else if(tj==5) { value.j += 5 * m;
value.i += rp_I(4) * m; }
else if(tj==4) { value.j += 4 * m;
value.i += rp_I(5) * m; }
else if(tj==3) { value.j += 3 * m;
value.i += rp_I(6) * m; }
else if(tj==2) { value.j += 2 * m;
value.i += rp_I(7) * m; }
else { value.j += 1 * m;
value.i += rp_I(8) * m; }
m *= 10;
}
return (value);
}
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
time_t t;
struct_ij value = {0,0};
int n = 1;
srand(time(&t));
do{clrscrn();
printf("addition\n\n\n\n");
printf(" j+i: %10d \n\n",value.j+value.i);
value = X_rand_j_pls_i(C4);
printf(" j: %10d \n",value.j );
printf(" +i: %10d (%d)",value.i,n++);
nlign(6);
}while(stop_w());
clrscrn();
printf("Addition\n\n\n\n");
printf(" j+i: %10d \n\n",value.j+value.i);
return 0;
}
/* ---------------------------------- */
/* ---------------------------------- */
Cette fonction permet de s'entraîner sans les retenues.
L'argument dans la fonction X_rand_j_pls_i(); permet de choisir la taille des additions.
Je n'ais pas introduit cette fonction dans la bibliothèque qui est déjà trop chargée.
Exemple de sortie écran :
********
addition
j+i: 0
j: 5043
-i: 4141 (1)
Press return to continue
Press X to stop
********
addition
j+i: 9184
j: 3427
-i: 2321 (2)
Press return to continue
Press X to stop x
********
Addition
j+i: 5748