Soit le type Entier defini de la maniere suivante :
typedef short Entier[NC+1];
Une variable du type Entier est donc un tableau de NC+1 elements.
Soit ceci :
Entier t;
Le signe de cet entier est stocke dans la case [0]. Les autres cases contiennent une partie d'un nombre en Base 100. Resultat pour le nombre 1234567890 on a donc :
{0,90,78,56,34,12}
Les cases qui ne sont pas remplies restent a zero. Vous suivez jusque-la

La question la voici :
Definir une fonction add_abs qui, etant donne deux nombres representes dans le type Entier, calcule la somme des valeurs absolues de ces deux nombres dans le type Entier. Si le nombre de chiffres de la somme est superieur a NC, on ne conservera dans le resultat que les NC chiffres de faible poids...
J'ai fait un truc dans ce genre, mais mes potes me sont tombes dessus parce que j'ai pas fait ce qu'il fallait faire :
void add_abs(Entier a[NC+1], Entier b[NC+1], Entier *c[NC+1]) {int i; for (i=1; i<=NC; i++) { *c[i]=a[i]+b[i]; } for(i=1; i<=(NC-1); i++) { if (*c[i]>=100) { *c[i]=*c[i]%100; *c[i+1]++; } } *c[NC]=*c[NC]%100; }
Et mes potes soutiennent mordicus que c'est faux... Vous auriez fait quoi vous ? :/