[C++] Rekurencyjna funkcja obliczająca pole powierzchni i objętość kuli
Ostatnio zmodyfikowano 2013-11-12 21:18
mzk13 Temat założony przez niniejszego użytkownika |
[C++] Rekurencyjna funkcja obliczająca pole powierzchni i objętość kuli » 2013-11-12 20:59:08 Witam mam do napisania program: "Napisz i wykorzystaj funkcję, która zwraca pole powierzchni i objętość kuli o podanym promieniu. Do zwrócenia wyniku należy wykorzystać referencję." Stworzyłem kod: #include<iostream> #include<stdio.h> #include<math.h> using namespace std;
void kula( float & objetosc, float & pole, float R ) { float P, V; cin >> R; P = 4 * 3, 14 *( float ) pow( R, 2 ); V =( 4 * 3, 14 *( float ) pow( R, 3 ) ) / 3; } int main() { float V, R, P; kula( V, P, R ); cout << V << " " << P << endl; system( "pause" ); return 0; } Nie wczytuje on jednak poprawnie wyniku i nie potrafię znaleźć błędu. Proszę o wskazówki. |
|
Buby |
» 2013-11-12 21:14:54 Usun z funkcji kula zmienne float P, V . A ich wyliczenie poniżej odpowiednio zamień na pole i objetosc . Wynik wypisuje z kosmosu, bo tworzysz w funkcji zmienne lokalne, które nie są dostępne w funkcji main. :) Mówiąc prościej, obliczenia wykonuj na zmiennych w deklaracji funkcji - odpowiednio wywołanie: void Kula( float & pole, float & objetosc ) { }
Kula( V, P )
|
|
mzk13 Temat założony przez niniejszego użytkownika |
» 2013-11-12 21:17:46 Racja, dzięki za pomoc. :) |
|
hexperos |
» 2013-11-12 21:18:16 powinno byc jakos tak : cin >> R; pole = 4 * 3.14; objetosc =( 4 * 3.14 *( float ) pow( R, 3 ) ) / 3;
argumenty formalne pole i objetosc przesylasz przez referencje wiec beda one dostepne w main. |
|
« 1 » |