IreuN IreuN 06.04.2015, 12:45:24 2 + C++ jest dziwny. Robię chyba totalne podstawy, wiec proszę bez heheszków. A teraz proszę o wytłumaczenie dlaczego...3/4*M_PI*r*r*r = 0 a 3*M_PI*r*r*r/4 = 2.35619 ?!Wszystko to siedzi w 'cout'#programowanie
IreuN IreuN 06.04.2015, 12:47:53 0 + @Kokon89: A #!$%@? wie, to jest stała pi z math.h więc raczej float. :) R też jest floatem
Patres Patres 06.04.2015, 12:48:35 via Android 4 + @IreuN: 3 i 4 są int'ami dlatego 3/4 to 0 bo przy dzieleniu liczb całkowitych dostajesz całkowitą (tylko liczbę do przecinka)
haxx haxx 06.04.2015, 12:48:36 1 + @IreuN: 3/4, dzielenie całkowitej przez całkowitą jest zaokrąglane w dół, 3/4 = 0.75 = 0, cokolwiek mnożysz przez zero daje zero.spróbuj (float)3/4*M_PI\*r\*r\*r
IreuN IreuN 06.04.2015, 12:51:45 0 + @pawzub: @haxx: No działa działa i opcja pana @haxx: też działa. Dziękuję Mirky ;)
adek_es adek_es 06.04.2015, 13:32:49 0 + @IreuN: Wystarczy nawet tylko dopisanie kropki po 3: 3./4*M_PI*r*r*r = 0 - definiuje ona liczbę zmiennoprzecinkową, a typ pierwszej liczby od lewej w działaniu definiuje wynik danego działania. Więc wynik będzie liczbą zmiennoprzecinkową.
3/4*M_PI*r*r*r = 0a
3*M_PI*r*r*r/4 = 2.35619?!Wszystko to siedzi w 'cout'
#programowanie
spróbuj (float)3/4*M_PI\*r\*r\*r