acos(a/b) quelque soient a et b...

acos(a/b) quelque soient a et b... - C - Programmation

Marsh Posté le 28-06-2004 à 11:23:06    

Bonjour,
 
Je voudrais calculer acos(a/b),
seulement, il semblerai que la fonction acos ne prenne en parametre que des valeurs comprise entre -1 et 1, comme en math. La question est donc la suivante:
comment faire pour calculer cette valeur en C avec par exemple a/b = 800/1550?
Merci à vous


Message édité par walldorf le 28-06-2004 à 11:33:35
Reply

Marsh Posté le 28-06-2004 à 11:23:06   

Reply

Marsh Posté le 28-06-2004 à 11:25:18    

800 / 1550 == 0

Reply

Marsh Posté le 28-06-2004 à 11:31:57    

c'est quoi le comportement de ce double == ?
Ca fait une congruence ou un truc du genre?
Je comprends pas bien...

Reply

Marsh Posté le 28-06-2004 à 11:35:05    

tu veux pas plutôt apprendre le C ?

Reply

Marsh Posté le 28-06-2004 à 11:35:41    

ben justement c'est ce que je fais...

Reply

Marsh Posté le 28-06-2004 à 11:36:53    

quand je vois == c'est pour un test d'egalite, mais peut etre que ca a un comportement partiuclier dans ce cas... je sais pas moi, expliquez moi

Reply

Marsh Posté le 28-06-2004 à 11:42:18    

pourquoi tu voudrais que tantot ça soit le test d'galité, tantot la congruence ?
 
pour ta question, y a pas de quelques soient a et b, c'est quelques soient a et b tels que abs(a/b) <= 1

Reply

Marsh Posté le 28-06-2004 à 11:46:54    

il faut donc que je trouve moyen que a/b soit <= 1,
c'est ce qui m'a fait dire congruence...
Effectivement, c'est tres debile de croire que == peut avoir deux comportement, mais debutant debutant, je me fais tout petit sur ce coup la...
Euh, donc pour ramener a/b plus petit que 1, possible de faire une congruence (euh, sur des non entier, ca ne parait un peu misereux)? ou alors je fais autre chose genre boucle qui ajoute ou retire 2 jusqu'a etre dans le bon intervalle?


Message édité par walldorf le 28-06-2004 à 11:50:22
Reply

Marsh Posté le 28-06-2004 à 11:48:56    

si -1<=cos<=1
alors pour calculer acos(T) il faut que -1<=T<=1...
vu que c'est la fonction inverse
donc pour ton calcul de acos(a/b) il faut que abs(a/b)<=1 (comme le dit si bien Taz) et surtout faire les calculs avec des rééls!!! (si a et b sont des int, a/b == 0 si a<b)
ou alors utilises les cast pour être sûr

Reply

Marsh Posté le 28-06-2004 à 11:52:41    

ok dac pour les reels, mais pour avoir abs(a/b)<=1, la meilleur solution, c'est quoi?
 
Merci, vous m'aidez bien, je suis vraiment pas bon pour ces choses la...


Message édité par walldorf le 28-06-2004 à 11:53:57
Reply

Marsh Posté le 28-06-2004 à 11:52:41   

Reply

Marsh Posté le 28-06-2004 à 11:55:31    

si tu cherches l'acos d'une valeur, c'est que tu sais que cette valeur est un cosinus... donc elle doit forcément être comprise entre -1 et 1, sinon c'est que tu as une erreur de calcul non?

Reply

Marsh Posté le 28-06-2004 à 11:58:39    

Bonne remarque! je suis focalise sur une syntaxe que je ne comprends pas et j'oublie les choses elementaires...
Merci à vous Moktar1er et Taz
:)


Message édité par walldorf le 28-06-2004 à 11:59:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed