|
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
|
||||||
Округлить любое вещественное число до определённого количества знаков с математической точностью06.11.2011, 21:17. Показов 22642. Ответов 26
Метки нет (Все метки)
Пишем Microsoft Visual Studio -> Win32 Console Application -> C++.
Нужно написать функцию, которая округляет любое вещественное число до определённого количества знаков с математической точностью. Вот что уже готово, можете подсказать в чем ошибка и как исправить? (Изучаю функцию одну пару, так что хочу попросить объяснять и показывать как можно проще и примитивнее Про ceil нам тоже еще не рассказывали, читал Дейтел, нашел решил попробовать...)
0
|
||||||
| 06.11.2011, 21:17 | |
|
Ответы с готовыми решениями:
26
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
| 06.11.2011, 21:25 | ||||||
2
|
||||||
|
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
|
||
| 06.11.2011, 21:37 [ТС] | ||
0
|
||
|
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538
|
|||||||||||
| 06.11.2011, 21:50 | |||||||||||
|
Ну если это и есть та функция то еще ничего не готово:
0
|
|||||||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 06.11.2011, 21:57 | |
|
hepr, твоя функция не округляет, а отбрасывает значение за нужным знаком
те на 123.234988 будет 123.234, а не 123.235
0
|
|
|
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
|
||||||||||||
| 06.11.2011, 22:03 [ТС] | ||||||||||||
)Хочу спросить что такое: double, pow, system("pause");, static_cast<int>(number);, degree--;(первое что бросилось в глаза...) Добавлено через 4 минуты Извиняюсь если уже поднадоел... Вот то что успели сделать, и чем заканчиваются знания про функции:
0
|
||||||||||||
|
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538
|
||||||
| 06.11.2011, 22:23 | ||||||
|
Да, про само округление я и забыл))
double, pow, system("pause");, static_cast<int>(number);, degree-- double - вещественный тип pow() моя функция(она описана у в коде) static_cast<int>(number) преобразует double в int(в данном случае, тк number - double) degree -- это тоже самое что и degree = degree - 1; Добавлено через 8 минут Вот подправил:
* Теперь использую функцию pow() из math.h, а не самопальную
2
|
||||||
|
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
|
|
| 06.11.2011, 22:46 [ТС] | |
|
А что такое system("pause"); и "/="
И еще один вопросец... Как именно пользоваться программой? После ввода любого числа выводи это же число...
0
|
|
|
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538
|
|
| 06.11.2011, 23:54 | |
|
system("pause") = системная функция, которая тупо ждет сигнал для продолжения
"/=" a/=2 это то же что и a = a/2 Попробуйте ввести например 1.12389 и увидите что выводит 1.124, как и должно round(число которое надо округлить,сколько чисел надо округлить); Если вы введете число типа 1.1 то и выведет 1.1, тк по-умолчанию я поставил количество чисел после запятой 3, то есть и выводит фактически: 1.100
1
|
|
|
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
|
|
| 07.11.2011, 08:29 [ТС] | |
|
Огромное спасибо!
0
|
|
|
2 / 2 / 1
Регистрация: 22.01.2015
Сообщений: 17
|
|
| 19.03.2015, 10:56 | |
|
а если число округления должен ввести пользователь, как подправить код? Например число вводимое пользователем имеет после запятой энное кол-во знаков, а округлить нужно до числа, кот. опять вводит пользователем, каждый раз новое.
0
|
|
|
2 / 2 / 1
Регистрация: 22.01.2015
Сообщений: 17
|
|
| 21.03.2015, 17:35 | |
|
Округление происходит до трёх знаков после запятой. А если нужно до 7го или другого знака.
0
|
|
|
2 / 2 / 1
Регистрация: 22.01.2015
Сообщений: 17
|
||||||
| 21.03.2015, 18:06 | ||||||
|
Народ, посмотрите мой код по этой теме. Не могу понять где ошибка. Криво работает. Если ввести число например с 15 знаками после запятой, а потом прописать цифру, которая оставит соответствующее кол-во знаков после запятой например 9... то что-то не так работает. Библиотеку #include <string> не подключать.
0
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 21.03.2015, 18:12 | |
|
0
|
|
|
Модератор
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
|
||||||
| 24.03.2015, 19:44 | ||||||
|
Предлагаю целую и дробную части хранить отдельно в целых числах.
Иначе будут возникать проблемы типа 1.2349999999999999
0
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 24.03.2015, 19:49 | |
|
zss, что то Ваша проблема не понятна.
0
|
|
|
Модератор
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
|
||
| 24.03.2015, 20:14 | ||
|
всегда возможна ошибка в последней цифре. В результате могут получаться результаты типа 1.239999999999999999999 1.240000000000000000000 1.240000000000000000001
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 25.03.2015, 09:06 | ||
|
0
|
||
| 25.03.2015, 09:06 | |
|
Помогаю со студенческими работами здесь
20
Округлить вещественное число побитно
Округлить к ближайшему целому заданное вещественное число Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|