Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
OlegOl
1 / 1 / 1
Регистрация: 28.01.2013
Сообщений: 42
#1

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

26.05.2013, 11:58. Просмотров 1563. Ответов 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
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 11:58
Ответы с готовыми решениями:

Как определить целое число или нет
Можно как то определить какое число записано в переменной? скажем есть...

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

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

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

Определить, простое число или нет
Программа должна говорить простое число или нет. Подскажите в чем ошибка кто...

2
Miwa123
37 / 37 / 22
Регистрация: 16.04.2013
Сообщений: 319
Записей в блоге: 1
26.05.2013, 12:35 #2
Цитата Сообщение от OlegOl Посмотреть сообщение
Необходимо определить, является ли число целым или нет.
В цикле значение переменной изменяется с шагом 0.0001
И, допустим, если переменная примет значение a=12.00001, то её можно считать целой.
[/SPOILER]
а если число 10.1463 и в цикле с шагом 0.0001 это переменная будет возрастать. она тоже примет значение 11.0001. можно число указанное выше считать целым?
0
Nick Alte
Эксперт С++
1647 / 1019 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
26.05.2013, 12:52 #3
Лучший ответ Сообщение было отмечено OlegOl как решение

Решение

Всё это элементарная математика. Допустим, шаг изменения одна сотая: 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

Определить, четное число или нет
Добрый вечер нужно написать прорамму для определения четных и не четных чисел....

Определить зеркально число или нет
1-Ввести 4-х значное число допустим 1991 определить зеркально или нет (...

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


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

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

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