Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
OlegOl
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 42
#1

Определить целое число или нет - C++

26.05.2013, 11:58. Просмотров 1421. Ответов 2
Метки нет (Все метки)

Необходимо определить, является ли число целым или нет.

В цикле значение переменной изменяется с шагом 0.0001
И, допустим, если переменная примет значение a=12.00001, то её можно считать целой.

Пересмотрел кучу форумов, но ни один из методов у меня не работает.

Один из методов, который я нашел.
Суть программы, думаю, понятна.
Кликните здесь для просмотра всего текста

C
1
2
3
4
5
6
7
8
9
10
11
12
...
m+=0.0001;
        k=m*1.609344;
        //cout<<m<<"\t "<<k<<"\n";
        
        if((m - floor( m )) == 0)
            cout<<m<<"\t "<<k<<"\n";
 
        
        if((k - floor( k )) == 0)
            cout<<m<<"\t "<<k<<"\n";
...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 11:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить целое число или нет (C++):

Как определить целое число или нет - C++
Можно как то определить какое число записано в переменной? скажем есть переменная double X; можно как то программно определить...

Вводится целое число определить простое оно или нет - C++
Помогите решить задачу. Вводится целое число определить простое оно или нет.

Определить, целое число хранится в переменной, или дробное - C++
помогите ребята.я только учу сам с++.наработал свой проект все вроде пока понимаю но мне ужен маленький кусочек алгоритма.смотрите.скажем...

Определить, является ли заданное целое число четным или нечетным - C++
Задачи для самостоятельной работы 1. Напишите программу, которая определяет, является ли заданное целое число четным или нечетным; 2....

Определить зеркально число или нет - C++
1-Ввести 4-х значное число допустим 1991 определить зеркально или нет ( 1+9=10,9+1=10 в суме должно давать,а если 1992 1+9=10,9+2=11 то не...

Определить, простое число или нет - C++
Программа должна говорить простое число или нет. Подскажите в чем ошибка кто знает. #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

2
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
26.05.2013, 12:35 #2
Цитата Сообщение от OlegOl Посмотреть сообщение
Необходимо определить, является ли число целым или нет.
В цикле значение переменной изменяется с шагом 0.0001
И, допустим, если переменная примет значение a=12.00001, то её можно считать целой.
[/SPOILER]
а если число 10.1463 и в цикле с шагом 0.0001 это переменная будет возрастать. она тоже примет значение 11.0001. можно число указанное выше считать целым?
0
Nick Alte
Эксперт С++
1642 / 1014 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
26.05.2013, 12:52 #3
Всё это элементарная математика. Допустим, шаг изменения одна сотая: 0.01, а целыми мы считаем числа, чья дробная часть не превышает шага (например, целыми считаются 12.000001 и 12.00999). Тогда мы просто "сдвигаем" десятичную точку:
C++
1
2
3
4
bool isInteger(double value)
{
    return fmod(value * 100, 100) < 1;
}
Для произвольного шага мы можем обобщить эту функцию таким образом:
C++
1
2
3
4
bool isInteger(double value, double step)
{
    return fmod(value / step, 1 / step) < 1;
}
Если же нас интересует интервал на полшага вправо и на полшага влево от идеально целого числа (то есть, в нашем примере мы отнесём к 12 числа в промежутке от 11.995 до 12.004(9)), то достаточно сдвинуть наше значение на полшага:
C++
1
2
3
4
bool isInteger(double value, double step)
{
    return fmod((value + step/2) / step, 1 / step) < 1;
}
Однако же обычно в таких ситуациях действуют иначе: организуют приращение на целочисленном счётчике, а вещественный параметр вычисляют как функцию от счётчика:
C++
1
2
3
4
5
6
7
8
const double start_value = 5, step = 0.01;
for(unsigned int i = 0; i < 100500; ++i)
{
    const double num = start_value + step*i;
    do_something(num);
    if(i%100 == 0)
        cout << num << endl;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2013, 12:52
Привет! Вот еще темы с ответами:

Определить, четное число или нет - C++
Добрый вечер нужно написать прорамму для определения четных и не четных чисел. Я так понимаю что четное при деление должно быть кратно 2...

Разбить число на множители и определить простые они или нет - C++
Нужна помощь народ! Надо написать код чтобы работал по такому принципу: разбить число на множители и определить простые они или нет, если...

Ввести произвольное целое положительное число. Определить число с обратным порядком цифр заданного числа - C++
Я первокурсник, я мало времени уделил обучению(полный дурак, признаю.) но на завтра нужно сдать лабораторную, я понимаю задание, но циклы...

Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз - C++
задание такое Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз, если у него удалить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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