merci à toi loufoque +
Version imprimable
merci à toi loufoque +
Salut,
Le code fournis par Laurent Gomila présente néanmoins une petite erreur par rapport à l'énoncé:
Cela signifie que B peut etre plus petit que C (le code fonctionne), mais aussi que C peut etre plus petit que B (le code foire)Citation:
Envoyé par le prof
Le code de la fonction intervale devrait donc etre
L'énoncé présente cependant une faille dans le sens ou elle ne signale pas si les bornes doivent etre comprises ou non dans les valeurs potentielles.Code:
1
2
3
4
5 bool intervalles (int a,int b,int c) { return (a>b && a<c)||(a<b && a>c); }
Selon les cas potentiels
- borne inférieure inclue, borne supérieure exclue
- borne inférieure exclue, borne supérieure inclue
- bornes supérieure et inférieure inclues
- bornes inférieure et supérieure exclues
Les inégalités peuvent changer ;)
En fait, en relisant l'énoncé une fois de plus, ce n'est pas la fonction intervales qui est mal implémentée (désolé Laurent:oops: )...
C'est au nivau de la fonction main qu'il faut modifier les choses sous la forme de
en ayant donc une fonction intervales telle qu'impélmentée par Laurent:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int main() { int A,B,C; (...) if(B<C) { if(intervales(A,B,C)) cout<<A <<"est dans l'intervale["<<B<<","<<C<<"]"<<endl; } else if(intervales(A,C,B)) cout<<A <<"est dans l'intervale["<<C<<","<<B<<"]"<<endl; return 0; }
Code:
1
2
3
4
5 bool intervalles(int a, int b, int c) { return (b < a) && (a < c); }