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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
#1

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

19.10.2013, 19:27. Просмотров 381. Ответов 8
Метки нет (Все метки)

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)

не могу понять. почему??
спасибо..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2013, 19:27     поймать! дробная часть равна 1(нулю)
Посмотрите здесь:

C++ Дробная часть
C++ ОБНУЛЯЕТСЯ ДРОБНАЯ ЧАСТЬ ПРИ СОРТИРОВКЕ МАССИВА!!!
Не видна дробная часть числа C++
Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5 C++
C++ Подсчитать и вывести на экран количество элементов массива: в которых дробная часть меньше 0,35
Корень и дробная часть. Калькулятор с парсингом C++
C++ Как записать выражение, чтобы не отбрасывалась дробная часть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.10.2013, 19:34     поймать! дробная часть равна 1(нулю) #2
И как же дробная часть будет равна 1? Она меньше 1. После приведения к int будет получаться 0
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 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.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.10.2013, 19:38     поймать! дробная часть равна 1(нулю) #4
slipp1, и ответ тот же. На то она и дробная часть, что она меньше 1.
Давайте на числах. У какого числа дробная часть равна единице?
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
19.10.2013, 19:42  [ТС]     поймать! дробная часть равна 1(нулю) #5
512
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.10.2013, 19:43     поймать! дробная часть равна 1(нулю) #6
Кубический корень из 512 - это 8. Целая часть 8, дробная часть 0.
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
19.10.2013, 19:44  [ТС]     поймать! дробная часть равна 1(нулю) #7
Цитата Сообщение от slipp1 Посмотреть сообщение
//почему не ловит??!!!
* * if(doubleData==1)//если дробная часть равна 1
* * {
* * * cout<<intData<<"\t"<<doubleData<<"\t"<<i<<endl;
* * }
а выводит
7 1 512
Dani
1272 / 630 / 54
Регистрация: 11.08.2011
Сообщений: 2,266
Записей в блоге: 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(нулю)
Еще ссылки по теме:

При переводе string в long double теряется дробная часть C++
C++ В вещественном массиве вычислить количество элементов, дробная часть которых больше введенного числа k
C++ необходимо найти количество элементов, дробная часть которых больше введенного числа k, |k\<1
C++ Когда приравниваю переменную к функции, переменная становится равна нулю
Написать программу для вычисления количества элементов массива, дробная часть которых меньше 0,1 C++

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

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru