Форум программистов, компьютерный форум CyberForum.ru

Как вычислять выражение с заданной точностью? - C++

Восстановить пароль Регистрация
 
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
07.05.2013, 12:38     Как вычислять выражение с заданной точностью? #1
Хотел до уточнить, как например вычислять какое-то выражение с заданной точностью.
Больше всего меня пугает именно заданная точностью. Просто разъясните, по возможности пример какой-то.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
07.05.2013, 12:51     Как вычислять выражение с заданной точностью? #2
Bend3r, частенько такое требование присутствует для задач вычисления функции через сумму ряда Тейлора. В таком случае "заданная точность" говорит о необходимости вычислять или нет очередное слагаемое ряда.
Ещё может быть вариант ОТОБРАЖЕНИЯ значения на экране. Т.е. усечение лишних символов после десятичной запятой. Ну и до кучи, можно учесть точность типов с плавающей точкой (float,double,long double...)
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
07.05.2013, 13:23  [ТС]     Как вычислять выражение с заданной точностью? #3
Кстати хотел еще 1 спросить, как управлять символами после точки. Допустим в паскале по-моему mas[i].4islo:2:2
А в Си++ как?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
07.05.2013, 13:35     Как вычислять выражение с заданной точностью? #4
Bend3r, если речь о выводе на консоль, то есть манипулятор std::setprecision для потока вывода.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
07.05.2013, 15:03     Как вычислять выражение с заданной точностью? #5
Bend3r, лучше вот так
C++
1
 double x = 154.42; printf("%.15lf", x);
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
07.05.2013, 15:08     Как вычислять выражение с заданной точностью? #6
Ternsip, чем лучше? Это ж не плюсы даже.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
07.05.2013, 15:11     Как вычислять выражение с заданной точностью? #7
Tulosba, это работает на Microsoft visual studio C++. Под MinGW вроде тоже. Это плюсы и не только. Контесты закрываю на с++ и юзаю всегда такой вывод, т.к. cout очень долго работает
mokojumbot
a.i.
139 / 139 / 12
Регистрация: 09.11.2012
Сообщений: 906
07.05.2013, 15:17     Как вычислять выражение с заданной точностью? #8
Ternsip, cout часто быстрее работает. Самая тормозная часть iostream это "endl", раз в 15 медленнее '\n'.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
07.05.2013, 15:21     Как вычислять выражение с заданной точностью? #9
mokojumbot, нет, printf и scanf всегда быстрее работает чем cin и cout, это точно.
mokojumbot
a.i.
139 / 139 / 12
Регистрация: 09.11.2012
Сообщений: 906
07.05.2013, 15:43     Как вычислять выражение с заданной точностью? #10
Ternsip, http://stackoverflow.com/questions/1...-faster-output
сам не проверял
marymap
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 14
03.12.2016, 14:07     Как вычислять выражение с заданной точностью? #11
Tulosba, а не могли бы поподробее объяснить или пример привести, какая вводится точность и какой должен быть результат ( в случае с рядом Тейлора) заранее спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2016, 14:16     Как вычислять выражение с заданной точностью?
Еще ссылки по теме:

C++ Вычислить функцию, заданную как сумму ряда с заданной точностью
C++ Вычислить с заданной точностью значение заданной комплексной функции
C++ Как записать число с плавающей точкой с заданной точностью?

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

Или воспользуйтесь поиском по форуму:
amaralikyr
30 / 30 / 14
Регистрация: 18.09.2015
Сообщений: 88
03.12.2016, 14:16     Как вычислять выражение с заданной точностью? #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <ctime>
using namespace std;
 
int main() 
{
    int timer = clock();
 
    for (int i = 0; i < 100000; i++)
        cout << "asd";
 
    cout << clock() << endl;
}
cout - 15 sec
printf - 5 sec
Yandex
Объявления
03.12.2016, 14:16     Как вычислять выражение с заданной точностью?
Ответ Создать тему
Опции темы

Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru