Katownik Temat założony przez niniejszego użytkownika |
Mnożenie z liczbami po przecinku » 2013-01-28 00:29:33 Witam, jestem właśnie podczas przyswajania treści z rozdziału 10, poziomu 1( dział dotyczący operacji matematycznych). W ramach treningu i lepszego zrozumienia działu, postanowiłem napisać coś od siebie, niestety napotkałem problem: http://pics.tinypic.pl/i/00269/bwn0svwiglnw.png
Pytanie brzmi: Czemu na samym końcu nie mnoży razy 2,5 tylko x2? Próbowałem też zapisu '' a *= 250/100; ''. Niestety nie pomaga. |
|
crash |
» 2013-01-28 03:28:24 Poczytaj o typach danych. Typ int przechowuje tylko i wyłącznie liczby całkowite (ang. integer). Przyda Ci się typ float lub double . Generalnie rozumienie typów danych jest niezbędne nie tylko w C/C++, dowiedz się o nich więcej Kod wrzucaj między [ cpp ] tutaj kod [ /cpp ] spacje między literkami a nawiasami [] zrobiłem celowo, żeby kod się wyświetlał tak: Spacji trza się pozbyć |
|
Katownik Temat założony przez niniejszego użytkownika |
» 2013-01-28 04:10:54 Dzięki za odpowiedź:) Próbowałem już wcześniej float, teraz spróbowałem także double, ale niestety nadal mnoży x2, a nie x2,5. Dodatkowo mogę jeszcze dodać, że w zadaniu domowym z rozdziału 10 także coś nie gra, bo na końcu zamiast 1,25 wychodzi 1. Może to dlatego, że pracuje pod linuxem?
|
|
crash |
» 2013-01-28 04:18:21 Nadal używasz typu int, który zawsze przechowuje liczby całkowite. Jeśli do zmiennej typu int chcesz przypisać wynik dzielenia lub mnożenia przez liczbę zmiennoprzecinkową i tak dostaniesz int!
Linux tutaj nie gra roli tylko typ danych, którego używasz.
Jeśli wlejesz do baku wódkę, to auto to nie odpali. Nie próbuj %-D |
|
Maniek |
» 2013-01-28 09:20:51 Zamień przy zmiennych a , b z : na : I na pewno będzie działać , ale po zmianie musisz od nowa skompilować program !! |
|
wojtu111 |
... » 2013-01-28 10:46:51 A po za tym nie ma takiego czegoś jak "2,5" tylko pisze sie z kropką "2.5" :) |
|
Katownik Temat założony przez niniejszego użytkownika |
» 2013-01-28 14:18:47 Na samym początku próbowałem z float, później próbowałem int, double itd. Rozwiązanie podał wojtu111 - trzeba użyć kropki, a nie przecinka. Nie wpadłbym na to bo używałem przecinka z części klawiatury numerycznej. Wielkie dzięki wszystkim za pomoc :) |
|
« 1 » |