|
|
|
| Здрасте. Возникла такая проблема: 1/5 например или 1\43 выводиться на экран почему-то 0. Любая дробь где числитель меньше знаменателя почему-то = 0. Если взять например 43/2 то все нормально. Я никак не могу понять этого! переменные пробовал и double и float. В литературе ни где подобное не описано, или я слепой.
Помогите пожалуйста!
a=1/8;
cout<< a;
на экране 0
с принтф тоже самое. | |
|
|
|
|
|
|
|
для: Hrust
(03.12.2007 в 01:00)
| | Результат автоматически приводится к целому числу (так как вы целое делите на целое) - следует явно привести его к дробному
#include <iostream>
using namespace std;
int main()
{
double a = (double)1/8;
cout << a;
return 0;
} |
или вместо 1 и 8 используйте соответственно 1.0 и 8.0.
#include <iostream>
using namespace std;
int main()
{
double a = 1.0/8.0;
cout << a;
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(03.12.2007 в 03:22)
| | А если работаете с типом float, то:
| |
|
|
|
|
|
|
|
для: alex19921992
(04.12.2007 в 01:10)
| | Большое спасибо! А то у нас вся группа, мучается! А учителя ничего не могут объяснить. | |
|
|
|