Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/113: Рейтинг темы: голосов - 113, средняя оценка - 4.96
13 / 13 / 1
Регистрация: 02.02.2010
Сообщений: 102
1

setprecision()

07.04.2010, 14:53. Просмотров 20607. Ответов 2
Метки нет (Все метки)

Есть задача:
Написать программу выводящую в текстовый файл таблицу значений функций
exp(x) и ln(x) на отрезке [1,4] с шагом 0,2. x выводить с одной цифрой
в дробной части, exp(x) с пятью, ln(x) с семью.
C++
1
2
3
4
    for(double x=1;x<4.2;x+=0.2){
        fout<<setw(3)<<setprecision(1)<<x
            <<setw(9)<<setprecision(5)<<exp(x)
            <<setw(11)<<setprecision(7)<<log(x)<<"\n";
Результат:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  1   2.7183          0
  1   3.3201  0.1823216
  1   4.0552  0.3364722
  2    4.953  0.4700036
  2   6.0496  0.5877867
  2   7.3891  0.6931472
  2    9.025  0.7884574
  2   11.023  0.8754687
  3   13.464  0.9555114
  3   16.445   1.029619
  3   20.086   1.098612
  3   24.533   1.163151
  3   29.964   1.223775
  4   36.598   1.280934
  4   44.701   1.335001
Вопрос:
setprecision() по идее должен выводить с точностью до n знаков после точки, а выводит n знаков всего. В чем трабла?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2010, 14:53
Ответы с готовыми решениями:

setprecision() и setiosflags()
Почему чтобы напечатать число с двумя цифрами после запятой нужно использовать обе эти функции? ...

Setw и setprecision
Всем привет! Исходник: // setprecision example #include &lt;iostream&gt; // std::cout,...

Использование манипулятора setprecision
Какой вариант более правильный. Вычислить значение выражения, включающего 5 членов:...

SETprecision. В чем ошибка?
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { int n; ...

2
40 / 39 / 5
Регистрация: 27.11.2009
Сообщений: 100
07.04.2010, 14:59 2
Вроде нужно ещё использовать fixed ... именно он определяет колличество точек после запятой, к примеру
C++
1
2
3
4
double a=34.343434343434;//ну и так далее ))))
cout<<fixed;
cout<<setprecision(3);
cout<<a;
Попробуй так
6
13 / 13 / 1
Регистрация: 02.02.2010
Сообщений: 102
07.04.2010, 15:02  [ТС] 3
Спасибо, то что надо!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2010, 15:02

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

Унарная операция setprecision
Здравствуйте. Манипулятор потока fixed, насколько я понял, нужен для того, чтобы вывести значение...

Манипуляторы setprecision и fixed
Как работают эти манипуляторы? Почему с fixed и без fixed выводит по-разному? #include...

Error 'setprecision' was not declared in this scope
Глупый скела снова здесь! И так, что я опять сделал не так?)) Ошибка : error 'setprecision' was...

Setprecision работает не так как хотелось бы
Как я понимаю функция setprecision определяет сколько знаков после точки должно выводиться. Но на...


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

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

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