[C]problème de calcule d'arcosinus
Résolu
antoinou2958
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
antoinou2958 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
antoinou2958 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'essaye de faire un petit programme qui entre autre calcule les angles d'un triangle mais le problème est que quelque soit la longueure que je tape, arcosinus me renvoie toujours -1 alors je ne comprend pas,
" acb = acos(bc/ac); " (sachant que bc et ac sont connus et que ac, bc et acb sont "float"). Merci de vos aides
" acb = acos(bc/ac); " (sachant que bc et ac sont connus et que ac, bc et acb sont "float"). Merci de vos aides
A voir également:
- [C]problème de calcule d'arcosinus
- Comment on calcule une moyenne - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Google Docs
- Santa barbara - Forum Musique / Radio / Clip
- Excel champ calculé avec condition - Forum Excel
3 réponses
Salut,
bien pour moi ca m'as l'air ok vu comme ca.
ac, bc et acb sont déclaré en float.
les parametre de acos sont en double petit coup de cast normalement mais meme sans ca doit passer:
tu met soit tes variables en double et tu casts pas, ou tu casts.
voila,
bon courage
A++
bien pour moi ca m'as l'air ok vu comme ca.
ac, bc et acb sont déclaré en float.
les parametre de acos sont en double petit coup de cast normalement mais meme sans ca doit passer:
//Petit source exemple #include "math.h" #include "stdio.h" int main(int argc, char* argv[]){ float bc=1; float ac=0; float acb=0; acb=(float)acos((double)(ac/bc)); printf("ac:%f, bc:%f, abc:%f\n",ac,bc,acb); return 0; }
tu met soit tes variables en double et tu casts pas, ou tu casts.
voila,
bon courage
A++
-1 signifie une erreur la plupart du temps.
question : est-tu sur que ton quotient dans acos est bien compris entre -1 et 1 ?
si ton problème n'est pas résolue essai acos(0.5) par exemple voir si ça passe.
question : est-tu sur que ton quotient dans acos est bien compris entre -1 et 1 ?
si ton problème n'est pas résolue essai acos(0.5) par exemple voir si ça passe.