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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 122, средняя оценка - 4.75
WonderMNS
12 / 12 / 1
Регистрация: 02.02.2010
Сообщений: 102
#1

setprecision() - C++

07.04.2010, 14:53. Просмотров 16122. Ответов 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2010, 14:53     setprecision()
Посмотрите здесь:

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

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

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

Манипуляторы setprecision и fixed - C++
Как работают эти манипуляторы? Почему с fixed и без fixed выводит по-разному? #include &lt;iostream&gt; #include &lt;iomanip&gt; using...

Использование манипулятора setprecision - C++
Какой вариант более правильный. Вычислить значение выражения, включающего 5 членов: Y=(π+3)^2+(π+6)^3+(π+9)^4+... 1.вариант ...

Два манипулятора fixed и setprecision() в CLI Windows Forms - C++/CLI WinForms
Подскажите пожалуйста, возможно ли использование в CLI Windows Forms, таких манипуляторов как fixed и setprecision().Немного теории (fixed ...

setprecision() не работает, или работает не так как нужно - C++
cout &lt;&lt; setw(5) &lt;&lt; &quot;X=&quot; &lt;&lt; setprecision(2) &lt;&lt; X; cout &lt;&lt; setw(20) &lt;&lt; &quot;X=&quot; &lt;&lt; setprecision(0)&lt;&lt; X &lt;&lt; endl; cout &lt;&lt; setw(5) &lt;&lt; &quot;Y=&quot; &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Psixodelik
40 / 39 / 2
Регистрация: 27.11.2009
Сообщений: 100
07.04.2010, 14:59     setprecision() #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вроде нужно ещё использовать fixed ... именно он определяет колличество точек после запятой, к примеру
C++
1
2
3
4
double a=34.343434343434;//ну и так далее ))))
cout<<fixed;
cout<<setprecision(3);
cout<<a;
Попробуй так
WonderMNS
12 / 12 / 1
Регистрация: 02.02.2010
Сообщений: 102
07.04.2010, 15:02  [ТС]     setprecision() #3
Спасибо, то что надо!
Ответ Создать тему
Опции темы

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