Pętla for krok
Ostatnio zmodyfikowano 2016-11-20 02:42
wokub Temat założony przez niniejszego użytkownika |
Pętla for krok » 2016-11-20 02:13:35 Witam. Mam problem z jednym zadaniem: Napisz program, który wypisze do konsoli wartości x, funkcji sin(x) oraz kwadrat tej funkcji dla liczb z zakresu -pi do pi z krokiem co 0.02 (wszystkie dane w kolumnach, oddzielone znakiem tabulacji) No i zrobiłem najprostszy kod jaki był możliwy: #include <iostream> #include <math.h> using namespace std;
int main() { int x; for( int x = - M_PI; x <= M_PI; x + 0.02 ) cout << "\t x " << x << "\t sinus" << sin( x ) << "\t kwadrat" << x * x << endl; cin.get(); }
Jednak jakbym nie zmieniał, za każdym razem wyświetla mi się ta sama liczba, tzn wygląda to mniej więcej tak x -3 sinus-0.14112 kwadrat9 x -3 sinus-0.14112 kwadrat9 x -3 sinus-0.14112 kwadrat9 Co za tym idzie, krok, który wpisuję (0.02) nie jest w żaden sposób brany pod uwagę. Wiem mniej więcej jak się to pisze, no ale wszędzie tylko x++ etc |
|
karambaHZP |
» 2016-11-20 02:27:07 Ta zmienna jest typu całkowitego, dodajesz do niej ułamek, który notabene jest za każdym razem obcinany do wartości całkowitej. Poza tym aktualizacja kroku jest nieprawidłowa. Powinno być x += 0.02 |
|
wokub Temat założony przez niniejszego użytkownika |
» 2016-11-20 02:33:32 A jest jakiś sposób na stworzenie zmiennej, która nie będzie całkowita i będzie wyświetlać liczby po przecinku?
A po zmianie tego kroku mam teraz:
x 0 sinus0 kwadrat0 w niekończącej się pętli |
|
karambaHZP |
» 2016-11-20 02:34:46 |
|
wokub Temat założony przez niniejszego użytkownika |
» 2016-11-20 02:38:22 No i się udało, chyba. Dobrze to napisałem? Tak na pierwszy rzut oka? #include <iostream> #include <math.h> using namespace std;
int main() { double x; for( double x = - M_PI; x <= M_PI; x += 0.02 ) cout << "\t i " << x << "\t sinus" << sin( x ) << "\t kwadrat" << x * x << endl; cin.get(); }
|
|
karambaHZP |
» 2016-11-20 02:40:04 To możesz wywalić, bo i tak zakrywasz zmienną x definiując ponownie zmienną o tej nazwie w nagłówku pętli. |
|
wokub Temat założony przez niniejszego użytkownika |
» 2016-11-20 02:42:49 Faktycznie. Dzięki wielkie za cierpliwość. To już drugie zapytanie na które odpowiedziałeś. Nauczyłem się dziś więcej C++ niż przez ostatnie 2 tyg. Jeszcze raz dzięki |
|
« 1 » |