Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Funkcja sqrt()

Ostatnio zmodyfikowano 2010-05-19 16:43
Autor Wiadomość
lemis.aryl
Temat założony przez niniejszego użytkownika
[C++] Funkcja sqrt()
» 2010-05-19 11:17:59
Użyłem funkcji sqrt() w ten sposób:

distance = (sqrt(flinia_x-fkropka_x)^2 + (flinia_y-fkropka_y)^2);
i pojawia mi się błąd w kompilacji:

invalid operands of types `double' and `double' to binary `operator^'
Co jest nie tak?
P-16965
lenrokskate
» 2010-05-19 11:39:22
w C++ nie możesz używać '^' do potęgowania. Abo używasz funkcji pow(liczba, potega) abo robisz liczba*liczba
P-16971
malan
» 2010-05-19 11:39:29
distance = pow( sqrt(flinia_x-fkropka_x),2 ) + pow(flinia_y-fkropka_y,2)
Jakby mu się typy nie podobały w funkcji pow (pewnie tak będzie) to daj rzutowanie na double.

Te 7 sekund ;p.
P-16972
madmike44
» 2010-05-19 12:02:39
Ta funkcja ma kilka wersji, np.

C/C++
double pow( double base, int exponent );

Więc typy będą się podobać :) :P
P-16975
jacek_k
» 2010-05-19 16:43:28
^ to operator bitowy realizujący funkcję ExOR (działa jedynie dla liczb całkowitych).

Co w ogóle ma zrealizować ta instrukcja? Obliczyć długość wektora o podanych współrzędnych? Jeśli tak, to należy zrobić to tak:
sqrt(( xB - xA ) *( xB - xA ) +( yB - yA ) *( yB - yA ) );
W ten sposób obliczysz długość wektora o początku w punkcie A=(xA,yA) i końcu w punkcie B=(xB,yB).
P-17005
« 1 »
  Strona 1 z 1