Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу округление чисел
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Petro21 Petro21 вне форума
Member
 
Сообщений: 25
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.06.2012
По умолчанию округление чисел - 14.06.2012, 15:50

Здравствуйте!
Есть три варианта округления
- ceil - округляет до наименьшего целого 2.9 == 2
- floor - округляет до наибольшего целого 2.2 == 3
- round - округляет как в математике 2.5 == 3
столкнулся вот с такой проблемой
cpp Код:
float a;
a=ceil(a);
a%2;
Пишет что переменная - число с плавающей точкой, а значит делить по модулю не разрешено.
Я возмущен! Ведь я же округлил ))
Получается что нужно переменную a в int перевести?
(int)a%2

И вот еще, почему round не работает, пишет ошибку (
А еще такой вопрос, можно в ходе программы менять переменную
была float a;
тут бла бла бла
и тут int a;

Последний раз редактировалось Petro21; 14.06.2012 в 15:57
Ответить с цитированием
  (#2 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,470
Сказал(а) спасибо: 22
Поблагодарили 944 раз(а) в 928 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 15.06.2012, 08:07

Цитата:
Сообщение от Petro21 Посмотреть сообщение
Получается что нужно переменную a в int перевести?
Да.

Цитата:
Сообщение от Petro21 Посмотреть сообщение
А еще такой вопрос, можно в ходе программы менять переменную
была float a;
тут бла бла бла
и тут int a;
cpp Код:
{
    float a;
    // bla bla bla
}
// bla bla bla
{
    int a;
    // bla bla bla
}
Ответить с цитированием
Пользователь сказал cпасибо:
Petro21 (15.06.2012)
  (#3 (permalink)) Старый
Intel~lect Intel~lect вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.07.2012
По умолчанию 16.07.2012, 17:52

Цитата:
Сообщение от Petro21 Посмотреть сообщение
- ceil - округляет до наименьшего целого 2.9 == 2
- floor - округляет до наибольшего целого 2.2 == 3
- round - округляет как в математике 2.5 == 3
Извините, но здесь чуть-чуть неправильно
floor(2.2) будет 2. А ceil(2.9) будет 3
Ответить с цитированием
  (#4 (permalink)) Старый
Andrey_Kazakov Andrey_Kazakov вне форума
Banned
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.10.2012
По умолчанию 25.10.2012, 21:07

попробуй так : x = (int)x
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Округление чисел как реализовать turtles Java 2 17.08.2011 10:05
Как правильно делать округление чисел sayka_777 С/С++ 1 19.11.2009 01:43
Округление с заданной точностью feks Prolog 4 09.11.2009 18:24
Округление до целого числа используя RoundTo RX-10 Delphi 5 27.06.2008 23:02
Округление числа по условию madmike Visual Basic 8 17.12.2007 13:34
Округление плавающих чисел в алгоритме RAPIST Вопросы начинающих программистов 28 26.10.2007 16:05
Округление до сотых Corvus81 Visual Basic 2 22.05.2007 14:48
Округление Holand PHP 2 26.03.2007 13:51
Округление числа до десятых ^GENTLY^ Visual Basic 2 30.01.2007 15:58
Округление до ближайшего большего целого NLF Visual C++ 2 10.07.2005 22:29
Округление значения float Olegg C++ Builder 4 22.11.2004 10:10
Округление float до заданной точности YricSoft Алгоритмы 4 27.04.2004 12:51



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов