trouver le rayon d'1 cercle | Conversion int -> double - C++ - Programmation
Marsh Posté le 13-12-2002 à 01:47:05
la conversion est implicite de int vers double. Donc tu peux passer un int à sqrt sans plus de façons.
Marsh Posté le 13-12-2002 à 02:00:54
C'est bien ce que je me disais mais apparement le compilateur il est pas du meme avis
Citation : cercle.cpp:117: call of overloaded `sqrt(int)' is ambiguous |
Voici le code:
Citation : int x1,y1,x2,y2; |
Marsh Posté le 13-12-2002 à 02:11:10
dans ton cas effectivement, il y a ambiguite => il faut caster en double par exemple
Code :
|
Marsh Posté le 13-12-2002 à 02:39:29
Yeeee t'es trop fort! ca marche!
par contre tu pourrais m'expliqer pourquoi 2^2 n'est pas egal a 2*2
J'ai du re-ecrire ma commande comme ca pour que ca marche:
Citation : r = round(sqrt(double((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)))); |
Marsh Posté le 13-12-2002 à 04:20:06
^ pour puissance n'existe pas en C++
si tu veux faire puissance de 2 de x
tu fais x*x, c'est beaucoup plus simple et
la solution la plus rapide.
tu peux l'ecrire sous forme d'une fonctiom
inline float square(float t) (return t*t);
Si tu veux faire des puissances complexes
(puissances de flottants) il doit y avoir pow()
qui doit etre defini dans math.h
LeGreg
Marsh Posté le 13-12-2002 à 08:13:31
ok, merci a tous les deux pour vos reponses
Marsh Posté le 13-12-2002 à 01:38:58
Bonjour,
Je donne a ma fonction les cordonnees de 2 points qui doivent servir a tracer un cercle en sachant que le 1er point est le centre et le 2eme point est sur le cercle lui meme.
Trouver les rayon c'est pas bien dur avec pythagore.
le pbr c'est que je dois utiliser la fonction sqrt() qui demande en parametre un double alors que les coordonnees des points sont des int.
Comment faire marcher ca? C'est possible de passer les int en double?
Merci