Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
-9 / 0 / 2
Регистрация: 13.02.2015
Сообщений: 73
1

Функция, округляющая вещественные числа до определённого количества знаков

22.03.2015, 08:03. Просмотров 1604. Ответов 8
Метки нет (Все метки)

Написать функцию, которая округляет любое вещественное число до определённого количества знаков с математической точностью.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2015, 08:03
Ответы с готовыми решениями:

Округление вещественного числа до определенного количества знаков
Написать функцию, которая округляет любое вещественное число до определѐнного количества...

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

Вывод определенного количества знаков до запятой
Как в С++ с помощью оператора cout выводить число с нужным мне количеством знаков ДО запятой? Т.е....

Округлить любое вещественное число до определённого количества знаков с математической точностью
Пишем Microsoft Visual Studio -> Win32 Console Application -> C++. Нужно написать функцию, которая...

8
899 / 605 / 286
Регистрация: 26.02.2015
Сообщений: 2,761
22.03.2015, 08:25 2
Я округляю с помощью floor, больше пока что не знаю функций.
0
Эксперт C
24883 / 15442 / 3270
Регистрация: 24.12.2010
Сообщений: 33,324
22.03.2015, 10:13 3
Для вывода на печать
C++
1
2
3
double d; // Число
int n;  // Точность
prntf("%*.f", n, d); //
Без вывода
C++
1
2
3
4
double dn, p=1.0;
for(i=0; i<n; i++) p*=10;
dn = d*p;
return (int)(dn+0.5)/p;
1
Модератор
Эксперт по электронике
8287 / 6145 / 823
Регистрация: 14.02.2011
Сообщений: 21,359
22.03.2015, 10:25 4
Цитата Сообщение от Байт Посмотреть сообщение
Без вывода
по моему, умножение забыл

по шагам, алгоритм
C++
1
2
3
4
5
6
double p=1.0;
for(i=0; i<n; i++) p*=10.0; // вычисляем порядок, нагло украл у Байта 
double tmp=d*p;// умножаем на порядок чтобы число получилось целое
int tmp_int=tmp+0.5;// прибавляем компенсатор 0.5 и приводим к int, при этом дробная часть отбрасывается
tmp=tmp_int/p;// делим на порядок получаем округленное число
return tmp;// возвращаем его
1
Эксперт C
24883 / 15442 / 3270
Регистрация: 24.12.2010
Сообщений: 33,324
22.03.2015, 10:30 5
Цитата Сообщение от ValeryS Посмотреть сообщение
по моему, умножение забыл
Мой dn === твоему tmp
Твой tmp_int === (int) (dn+0.5)

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
нагло украл у Байта
Не жалуюсь. Для того и выложено на всеобщее обозрения, чтоб крал каждый, кому нужно.:)

1
Модератор
Эксперт по электронике
8287 / 6145 / 823
Регистрация: 14.02.2011
Сообщений: 21,359
22.03.2015, 10:35 6
Цитата Сообщение от Байт Посмотреть сообщение
Мой dn === твоему tmp
Цитата Сообщение от Байт Посмотреть сообщение
dn = d*p;
а добавил строчку
Цитата Сообщение от Байт Посмотреть сообщение
Твой tmp_int === (int) (dn+0.5)
это я то понял а другие?
просто я расписал по шагам,чтобы понять, что происходит, а ты в одну строчку
1
Эксперт C
24883 / 15442 / 3270
Регистрация: 24.12.2010
Сообщений: 33,324
22.03.2015, 10:39 7

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
а добавил строчку
Ты очень шустро ответил... Пока я исправлял...


Если ты украл у меня драхму, у меня стало драхмой меньше.
Если ты украл у меня идею, у нас с тобой на идею стало больше
1
-9 / 0 / 2
Регистрация: 13.02.2015
Сообщений: 73
17.04.2015, 20:13  [ТС] 8
Написать функцию, которая округляет любое вещественное число до определённого количества знаков с математической точностью.
0
Эксперт C
24883 / 15442 / 3270
Регистрация: 24.12.2010
Сообщений: 33,324
17.04.2015, 21:17 9
C++
1
2
3
4
5
6
7
double Round(double x, int k) 
{int i, p;
  for(i=0, p=1; i<k; i++, p*=10);
  x *= p;
  x = (int)(x+0.5);
  return x/p;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 21:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Функция округляющая число до указанного знака
18. **Напишите функцию, которая принимает вещественное число и количество знаков и возвращает...

Не работает функция подсчета количества знаков в трёх вводимых строках
Доброго времени суток. Ребят, пытался создал функцию, считывающую количество символов &quot; * &quot;...

Функция вызова Label и RadioButton определенного количества
Добрый вечер! Мне нужно преобразовать код в функцию для вызова одного labelа и нескольких...

Округление вещественного числа до заданного количества знаков
Что тут неправильно??? не воспринимает переменную r r - количество знаков после десятичной точки...

Проверка количества знаков дробной части числа
Ребят, подскажите пожалуйста такую вещь: есть у меня переменная double a, пользователь вводит с...

Округление числа в строке до указанного количества знаков после запятой
Как делать округление в строке, до знака после запятой порядковый номер который задаёт пользователь...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.