• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przekształcanie wzoru na objętość kuli

Object Storage Arubacloud
0 głosów
358 wizyt
pytanie zadane 27 lutego 2017 w Matematyka, fizyka, logika przez Marchewka900 Bywalec (2,970 p.)
W kursie pana Mirosława Zelenta pojawiło się zadanie domowe (Dziedziczenie). W jednym z podpunktów trzeba było przy pomocy wzoru obliczyć pole koła. Tu się zatrzymałem, bo nie umiem tego wzoru przekształcić tak, by nie miał ułamków. Oto, co już stworzyłem:

(4 / 3)*PI*r*r*r

Program działa, ale pokazuje zły wynik. Dla zrozumienia zamieniłem M_PI na PI.
P.S. Wzór na objętość koła - 4/3*PI*r^3
komentarz 27 lutego 2017 przez niezalogowany
Koło to czy kula jednak? Zły wynik? Podaj przykład. Pokaż kod. Przekaż mi więcej informacji bym mógł coś z tym zrobić.
komentarz 27 lutego 2017 przez Marchewka900 Bywalec (2,970 p.)

Jasne, ciągle mi się myli - Kula. Już podaję, już pokazuję kod.
Dam tylko kawałek kodu, bo to zadanie domowe.
 

	void wyswietl()
	{
		cout << endl << " Kula ma nazwe: " << nazwa << endl;
		Kolo::wyswietl();
		cout << " Objetosc tej kuli to " << 4 / 3 * M_PI*r*r*r << " [j^3]" << endl;
	}

I przykład:

Promień tego koła to 1 | Pole tego koła to 3,14... | Objętość tej kuli to 3,14...

r = 1.

komentarz 27 lutego 2017 przez niezalogowany
Dałem odpowiedz :D

2 odpowiedzi

0 głosów
odpowiedź 27 lutego 2017 przez niezalogowany
edycja 27 lutego 2017
 
Najlepsza

Chodzi tutaj o to, że kompilator traktuje 4 i 3 jako liczby typu int. Czyli 4 / 3 to 1 bez części ułamkowej. Możesz to poprawić na kilka sposobów:

Pi*r*r*r*4/3 // tu chyba kompilator się domyśli sam...
4.0/3.0*PI*r*r*r // podanie kompilatorowi, że 4 i 3 to dwie liczby zmiennoprzecinkowe
(float) 4/3*PI*r*r*r // rzutowanie 
static_cast<float>(4)/3*PI*r*r*r // rzutowanie

Warto zapamiętać rzutowanie. Przyda się gdy nie będzie można dopisać zera:

int a = 1;
int b = 3;

cout<<a/b<<endl;
cout<<(float) a/b<<endl;

 

komentarz 27 lutego 2017 przez Marchewka900 Bywalec (2,970 p.)
Dzięki! :)
komentarz 27 lutego 2017 przez niezalogowany
Zrobiłem małą edycję :)
0 głosów
odpowiedź 27 lutego 2017 przez DarthMazut Bywalec (2,990 p.)
liczba 4/3 to inaczej 1 i 1/3 - tę część postaci 1/3 nie da się wyrazić dokładnie w skończonej liczbie po przecinku chyba, że z użyciem okresu 1/3 = 0,(3).

Nie wiem dokładnie o co prosisz? Dlaczego program nie możesz stosować ułamków?

P.S. Koło nie ma objętości
komentarz 27 lutego 2017 przez Marchewka900 Bywalec (2,970 p.)
Pomyliłem się, chodziło mi o kulę. Napisałem komentarz wyżej o co mi chodzi.

Podobne pytania

+2 głosów
2 odpowiedzi 255 wizyt
pytanie zadane 9 października 2016 w JavaScript przez Dawid Wiśniewski Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 266 wizyt
pytanie zadane 21 października 2017 w Matematyka, fizyka, logika przez ELyyE Początkujący (320 p.)
0 głosów
1 odpowiedź 89 wizyt
pytanie zadane 29 marca 2020 w C i C++ przez Miszka255 Początkujący (280 p.)

92,555 zapytań

141,402 odpowiedzi

319,538 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...