|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Округление чисел массива до сотых(C++ Builder) |
|
C/C++ - Округление чисел массива до сотых(C++ Builder)
|
Новый участник Сообщения: 7 |
Доброго времени суток.
Помогите решить вот эту задачу: Условие задания: Создать подпрограмму-процедуру, входом которой является массив из 7-ми действительных чисел, а выходом - массив этих чисел, округленных до сотых. Я пытался сделать через Memo1 в которое мы вводим цифры, а выводим в Memo2 с (FormatFloat("0,00",k)); При компилирование он мне вывел совсем другие числа(видимо индексы). P.S. Вводим в StringGrid1 Выводить нужно в StringGrid2 Заранее благодарен за помощь. |
|
Отправлено: 15:17, 25-11-2012 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Цитата KnightMrak:
|
|
------- Отправлено: 19:02, 25-11-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать KnightMrak, задание сформулировано не совсем полно. Каков может быть диапазон исходных вещественных чисел?
Сейчас поясню, почему это имеет значение. 1-ый случай: умножаем исходное число на 100.0 (вещественное, чтобы избежать лишнего преобразования типов, хотя умный компилятор сделает это сам). Преобразуем число в целое отсечением дробной части (можем предварительно прибавить 0.005, чтобы округление производилось в сторону с минимальной погрешностью. Или вычесть, если число отрицательное). Делим полученное целое на 100.0 вещественное - дело сделано. Но таким образом можно округлять только небольшие числа. Не выходящие (после умножения на 100) за пределы представления целого числа заданной разрядности с учетом наличия или отсутствия знака. 2-ой случай: если Вы не хотите накладывать ограничения на величину исходного вещественного числа, его необходимо предварительно разделить на целую и дробную части. К примеру, функцией modf. Целая часть остается неизменной, дробная округляется до сотых описанным выше способом. Потом целая и дробная части складываются. Главное, чтобы такая функция возвращала целую часть исходного числа как указатель на вещественную переменную. Если указатель будет на целое, большого выигрыша от её использования Вы не получите. |
------- Отправлено: 23:58, 25-11-2012 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Pascal - округление | Ragnazar | Программирование и базы данных | 2 | 24-09-2012 12:13 | |
CMD/BAT - Сложение чисел в переменной | Доктор Ливси | Скриптовые языки администрирования Windows | 2 | 12-01-2012 13:15 | |
C/C++ - Последовательность чисел | denver-312 | Программирование и базы данных | 7 | 02-01-2008 20:54 | |
Генератор случайных чисел | Murrey | Хочу все знать | 3 | 22-08-2006 13:00 | |
сортировка чисел | slaine | Вебмастеру | 12 | 18-02-2006 20:17 |
|