78 / 24 / 13
Регистрация: 01.06.2019
Сообщений: 571
1

Округление вещественного числа до определенного количества знаков

07.09.2019, 17:29. Показов 513. Ответов 3
Метки нет (Все метки)

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

Как то этот код работает странно, поправите?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
 
void okrugl(double a, int b)
{
    int celoe, drob;
    celoe = (int)a;
    a = fabs(a - celoe);
    for (int i = 0; i < b; i++)
        a *= 10;
    drob = (int)a;
    if (a - drob > 0.5)
        drob++;
    cout << celoe << "." << drob << "\n";
}
 
void main()
{
    setlocale(LC_ALL, "Russian");
    double a, b;
    cout << "Введите число с любым количеством знаков после запятой: " << "\n";
    cin >> a;
    cout << "Введите число равное порядковому номеру после запятой, которое должно остаться с учетом округления:" << "\n";
    cin >> b;
 
    okrugl(a, b);
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2019, 17:29
Ответы с готовыми решениями:

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

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

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

Округление вещественного результата до нужного количества точек после запятой
В языке Python при суммировании двух рациональных чисел выходит результат 2.8746520987465. Как...

3
Модератор
Эксперт С++
10906 / 9014 / 5419
Регистрация: 18.12.2011
Сообщений: 24,097
07.09.2019, 18:51 2
Цитата Сообщение от Rudman132 Посмотреть сообщение
okrugl(a, b);
b в объявлении функции имеет тип int,
а в вызове оно double
1
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
07.09.2019, 20:45 3
Цитата Сообщение от Rudman132 Посмотреть сообщение
Как то этот код работает странно, поправите?
Цитата Сообщение от Rudman132 Посмотреть сообщение
drob = (int)a;
* * if (a - drob > 0.5)
* * * * drob++;
Здесь лучше
C++
1
2
3
4
5
    for (int i = 0; i < b; i++)
        a *= 10;
    drob = int(a + 0.5);
    //if (a - drob > 0.5)
       // drob++;
А что странного?
Ну, кроме того, что ещё лучше вместо a = fabs(a - celoe); использовать modf()
1
Эксперт C
25992 / 16199 / 3476
Регистрация: 24.12.2010
Сообщений: 35,450
07.09.2019, 21:25 4
Цитата Сообщение от Rudman132 Посмотреть сообщение
округляет любое вещественное число до определѐнного количества знаков
Форматы функции клона printf .легко позволяют это сделать.
C++
1
2
3
int z = 2;
double pi = 3.14159265;
printf("%.*f", z, pi); // 3.14
НО если это не совсем то, что тебе нужно - извини.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2019, 21:25

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Округление и отображение нужного количества знаков после запятой
Здравствуйте, уважаемые форумчане! Такой вопрос. Есть информационная система(сурбд мсскл...

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

Округление вещественного числа с заданной точностью в Си
Здравствуйте! Нужно написать функцию округления вещественного числа с заданной точностью, т.е....

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

Округление вещественного числа до заданной точности
Всем привет форумчанин. Вот мои простой исходный код. procedure TForm1.Button1Click(Sender:...

Описать функцию - округление вещественного числа с заданной точностью
Описать функцию f(x, n) - округление вещественного числа х с точностью 1/2 * 10 - n. Программа в...


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

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

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