|
|
|
| Здравствуйте.
#include <iostream.h>
int main()
{
float k ;
int d = 1, c = 7;
k = d / c;
cout << k;
}
|
Как исправить текст этой программы, чтобы результат деления не был равен нулю?
Заранее спасибо. | |
|
|
|
|
|
|
|
для: antf
(19.10.2006 в 18:24)
| |
#include <iostream.h>
int main()
{
float k ;
int d = 1, c = 7;
k = (double)d / c;
cout << k;
}
|
Результат арифметической операции, выполняющейся над целочисленными операндами тоже будет целочисленным (и то, что в php и JS это не так, раздражает невероятно.)
Мораль - перед тем как выполнять операцию, надо хотя бы один из операндов преобразовать к вещественному типу. | |
|
|
|
|
|
|
|
для: Trianon
(19.10.2006 в 18:50)
| | Это хрестоматийный пример, но раздражает невероятно: нельзя просто поделить два числа. Главное не выводится никакой ошибки. Придется привыкать В Delphi тоже такого нет. | |
|
|
|
|
|
|
|
для: antf
(19.10.2006 в 18:57)
| | Почему нельзя? Можно. Если числа вещственные.
А если учесть, что в 50 процентах из ста при делении целых нужно получить целочисленное частное, еще в 59 - целочисленное частное и остаток, и лишь в одном - вещественное число, то такое поведение вполне оправдано.
Это что....
Я где то читал, что один из SQL-серверов операцию AVG над целочисленным столбцом выполняет в целочисленной арифметике. Вот это и вправду противно. Если не наврали. | |
|
|
|