Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 8

Не работающая функция floor()

17.10.2017, 20:58. Показов 3087. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Либо я что-то криво написал, либо я дурак, но она не работает. Где я мог ошибиться?
C++
1
2
3
4
5
6
7
8
kart_1=1000/216;oth_1=kart_1;
kart_1=floor(kart_1);oth_1=oth_1-kart_1;
kart_2=900/296;oth_2=kart_2;
kart_2=floor(kart_2);oth_2=oth_2 - kart_2; oth=oth_1+oth_2; 
kart=kart_1 * kart_2;kl=(t*2)/kart;
kl=SimpleRoundTo(kl,0);kl=kl+((kl/100)*5);
kk=kl*0.96;kk=SimpleRoundTo(kk,-1);
oth=oth*t;
t указан, все элементы типа double

Добавлено через 22 минуты
floor(kart_1 +0.5) даёт тот же результат.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2017, 20:58
Ответы с готовыми решениями:

Функция floor()
Приветствую. Функция floor() возвращает округлённое значение, которое не больше изначального аргумента. У меня в книге есть следущее: ...

Функция floor
int r = floor(pow(b, 1 / 3.0)); при b=64 переменной r присваивается значение 3, хотя по идее должно быть 4 в чем проблема и как...

Функция Floor и Pow
Народ,два дня в C++ только я... Задание: Создать функцию floorQubicRoot, находящую наибольшее целое число, которое не превышает...

4
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.10.2017, 21:09
Лучший ответ Сообщение было отмечено andrey50604 как решение

Решение

C++
1
double kart_1=1000.0/216.0;
Итд.
1
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 8
18.10.2017, 01:09  [ТС]
Спасибо, это помогло.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.10.2017, 13:28
Смысл в том что 1000 это int а 1000.0 или 1000. или 1000f уже float а значит и деление происходит по другим правилам.

Кроме того пытаться округлить числа с плавующей точкой плохая затея.
Округляйте во время преобразования в строку с помощью FloatToStrF()
0
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 8
18.10.2017, 15:59  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Смысл в том что 1000 это int а 1000.0 или 1000. или 1000f уже float а значит и деление происходит по другим правилам.
Вот оно что, я думал что достаточно объявить основную переменную double чтобы деление происходило как надо, спасибо за объяснение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2017, 15:59
Помогаю со студенческими работами здесь

SELECT FLOOR(0.49), FLOOR(1,51), FLOOR( -0.49), FLOOR(-1,51);
SELECT FLOOR(0.49), FLOOR(1,51), FLOOR( -0.49), FLOOR(-1,51); Ошибка SQL запрос: Документация SELECT FLOOR(0.49), FLOOR(1,51),...

Функция floor() стандартной библиотеки
В описании функции стандартной библиотеки double floor(double num); сказано: Вопрос: почему возвращается тип double, а не int ?

Почему не срабатывает функция Math.Floor ?
Доброго времени суток! Надо найти мин. и мак. значения массива. Функция Math.Floor показывает то же число, что и Math.Ceiling using...

Функция floor для округления значения до определённого числа знаков дробной части
Всем привет ребята. кто мог бы объяснить где и что неправильно у меня в коде и как это исправить. Благодарю за внимание. Условие задачи:...

Не работающая функция
Я написал программу, которая получив от пользователя данные (ФИО, номер группы студента, оценки(4 штуки) и дату рождения) должна считать их...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru