Форум программистов, компьютерный форум CyberForum.ru

поймать! дробная часть равна 1(нулю) - C++

Восстановить пароль Регистрация
 
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
19.10.2013, 19:27     поймать! дробная часть равна 1(нулю) #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
 
int main()
{
  for(int i=512;i!=513;i++)
  {
    double result=pow(i,(double)1/3);//считаю корень кубический
    
    double intData, doubleData;
 
    doubleData = (int)modf(result,&intData);//выделяю целую и дробную часть!!
 
    //почему не ловит??!!!
    if(doubleData==1)//если дробная часть равна 1
    {
      cout<<intData<<"\t"<<doubleData<<"\t"<<i<<endl;
    }
  }
 
  return 0;
}
когда дробная часть равна 1 единице - не ловит в if(...=1)

не могу понять. почему??
спасибо..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.10.2013, 19:34     поймать! дробная часть равна 1(нулю) #2
И как же дробная часть будет равна 1? Она меньше 1. После приведения к int будет получаться 0
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
19.10.2013, 19:36  [ТС]     поймать! дробная часть равна 1(нулю) #3
послешил... пардон
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
 
int main()
{
  for(int i=500;i!=550;i++)
  {
    double result=pow(i,(double)1/3);//считаю корень
    
    double intData, doubleData;
 
    doubleData = modf(result,&intData);//выделяю целую и дробную часть!!
 
    //почему не ловит??!!!
    if(doubleData==1)//если дробная часть равна 1
    {
      cout<<intData<<"\t"<<doubleData<<"\t"<<i<<endl;
    }
  }
 
  return 0;
}
вопрос тотже
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.10.2013, 19:38     поймать! дробная часть равна 1(нулю) #4
slipp1, и ответ тот же. На то она и дробная часть, что она меньше 1.
Давайте на числах. У какого числа дробная часть равна единице?
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
19.10.2013, 19:42  [ТС]     поймать! дробная часть равна 1(нулю) #5
512
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.10.2013, 19:43     поймать! дробная часть равна 1(нулю) #6
Кубический корень из 512 - это 8. Целая часть 8, дробная часть 0.
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
19.10.2013, 19:44  [ТС]     поймать! дробная часть равна 1(нулю) #7
Цитата Сообщение от slipp1 Посмотреть сообщение
//почему не ловит??!!!
* * if(doubleData==1)//если дробная часть равна 1
* * {
* * * cout<<intData<<"\t"<<doubleData<<"\t"<<i<<endl;
* * }
а выводит
7 1 512
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
19.10.2013, 19:44     поймать! дробная часть равна 1(нулю) #8
slipp1, 512 = 512.000000000000000... Целая часть = 512, дробная = 0.0000000000000000000000000...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2013, 19:57     поймать! дробная часть равна 1(нулю)
Еще ссылки по теме:

Корень и дробная часть. Калькулятор с парсингом C++
Разделить дробное число на 2 части: целая часть числа и его дробная часть C++
C++ Как записать выражение, чтобы не отбрасывалась дробная часть?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
19.10.2013, 19:57  [ТС]     поймать! дробная часть равна 1(нулю) #9
я понимаю как мне её поймать.

Добавлено через 11 минут
C++
1
float ....
Yandex
Объявления
19.10.2013, 19:57     поймать! дробная часть равна 1(нулю)
Ответ Создать тему
Опции темы

Текущее время: 02:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru