Généralise! Mets directement dans l´algorithme la notion d´opérateur.
J´entends par là, ceci par exemple:
a _ b _ c _ d
Bon dans les _ tu peux mettre les opérations. le premier _, donne lui une variable, le deuxième, une autre, et le troisième aussi.
Ensuite, il faut coder généraliser les opérateurs: à la place d´utiliser des sym,boles, utilise des chiffres! Dis que ´+´ = 0, ´-´ = 1, ´*´ = 2, et ´/´ = 3.
Après ça il est facile de faire un algo. Par exemple, un truc du genre brute force où on essaie toutes les possibilités:
tu fais trois boucles imbriquées, du genre:
//Un tableau de chiffres que tu auras rempli préalablement
int Chiffres[4];
unsigned int i,j,k;
for(i=0;i<4;++i)
for(j=0;j<4;++j)
for(k=0;j<4;++k)
{
Evalue(Chiffres, i,j,k);
}
Et on évalue avec une fonction du genre:
int Evalue(*int Chiffres, unsigned int Op1, unsigned int Op2, unsigned int Op3)
Qui est capable d´évaluer une expression en prenant en compte la priorité des opérations (pas très difficile à faire).
En gros on essaie toutes les possibilités, mais pour faire ça, on crée un système où on remplace les opérations par des nombres.
Kelios
---------