Disons que j'ai essayé de te faire comprendre pourquoi le code dans ta réponse :
est correct …
Les deux cas false c'est bien ça et sinon c'est le cas true.
Version imprimable
D'accord si j'ai bien compris le cas de true comme condition serait ?Code:
1
2
3
4 If (d = 0 && r0 = r1) { return true; }
Il n'y a pas de "cas true" ou plutôt c'est quand les autres conditions, qui testent les cas où les cercles ne se touchent pas, ont échoué qu'il faut renvoyer true. Il suffit d'ajouter return true à la fin de ta fonction.
Il faut faire un minimum d'effort de compréhension et ne pas attendre que ça vienne tout cuit dans la bouche, tu as l'algo depuis au moins ce message :
L'algo en pseudo code donnerait (en reprenant le tric de la valeur absolue) :
ou alors en une ligne renvoyer (d>=abs(r0-r1)) et (d<=r0+r1))Code:
1
2
3
4
5 si ( d < abs(r0-r1) ) ou ( d > r0+r1 ) alors renvoyer false sinon renvoyer true
D'accord mais justement c'est pour ça que je pose des questions pour mieux comprendre.
Merci d'avoir pris ton temps de m'expliquer je vais m'appliquer pour mieux comprendre les notions de maths :)