Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/222: Рейтинг темы: голосов - 222, средняя оценка - 4.53
0 / 0 / 2
Регистрация: 27.04.2015
Сообщений: 349
1

Как найти остаток от деления чисел с плавающей точкой?

03.11.2016, 11:17. Показов 40141. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую. Есть код:
C++
1
2
3
4
5
6
7
for(int i=0;i<n;i++)
    {
        if(mas[i]%2.0==0.0)
        {
          t++;
        }
    }
Пишет что операция "%" невозможна, так как тип данных вещественный... (mas[i])
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2016, 11:17
Ответы с готовыми решениями:

Найти сумму чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7
доброго времени суток, задание такое же самое - Вводятся числа a и b. Найти сумму таких чисел в...

Числа с плавающей точкой после деления
Помогите, какая тут ошибка? мне нужно чтобы вышло числа с плавающей точкой после деления( например,...

Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
Вводятся числа a и b. Найти сумму таких чисел в диапазоне , у которых остаток от деления на 7 такой...

Для двух целых чисел найти остаток и частное от целочисленного деления, частное от вещественного деления
Уважаемые форумчане помогите пожалуйста с двумя программами. Это вопрос жизни и отчисления, я...

5
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
03.11.2016, 11:23 2
Цитата Сообщение от Tankist 90 Посмотреть сообщение
Пишет что операция "%" невозможна, так как тип данных вещественный... (mas[i])
Всё верно. Деление по модулю через % для вещественных чисел невозможно. Сохраняйте дробную часть, преобразовывайте в целое, делите, добавляйте дробную часть.
1
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
03.11.2016, 11:23 3
Лучший ответ Сообщение было отмечено Tankist 90 как решение

Решение

Tankist 90, Потому что операция "%" предназначена только для чисел типа int.
Для того, чтобы найти остаток от деления для чисел с плавающей точкой используйте функцию fmod.
http://cppstudio.com/post/1163/
2
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
03.11.2016, 11:36 4
Цитата Сообщение от igdev Посмотреть сообщение
Для того, чтобы найти остаток от деления для чисел с плавающей точкой используйте функцию fmod.
В новом стандарте еще функция с более мнемоничным названием std::remainder есть, только она возвращает отрицательный остаток, если положительный больше половины делителя.
1
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
03.11.2016, 11:43 5
Mr.X, мне кажется, что в данном случае больше подойдет функция fmod. Т.к. не нужно будет проверять какой остаток получился: отрицательный или нет; или применять к остатку функцию abs();
0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
03.11.2016, 11:51 6
Цитата Сообщение от igdev Посмотреть сообщение
мне кажется, что в данном случае больше подойдет функция fmod. Т.к. не нужно будет проверять какой остаток получился: отрицательный или нет
Ну, автору это не грозит, так как он остаток на ноль проверяет.
Функция std::remainder удобнее потому, что у нее название более говорящее и легче запоминается. Я, например, никогда не мог запомнить чем функция std::fmod отличается от функции std::modf, всегда в описание приходилось лезть. Дурацкие названия функций - потенциальный источник ошибок, так что лучше стараться такими не пользоваться.
2
03.11.2016, 11:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2016, 11:51
Помогаю со студенческими работами здесь

Найти остаток от деления двух натуральных чисел
1) Найти остаток от деления двух натуральных чисел. При решении задачи составить схему программы и...

Найти остаток от деления двух действительных чисел
2) Составить блок-схему и написать программный код со- гласно условию задачи: Найти остаток от...

Как найти остаток от деления
Ктонибуть может подсказать: Как найти остаток от деления числа N на 3, при условии N &lt;= 10e250

Вывод в консоль чисел с плавающей точкой: как сделать, чтобы после запятой было только два знака?
как сделать что бы после запятой было только два знака? спасибо


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru