Вот моя проблема:
Имея три переменные, a, b, c, типа double, которые уже были объявлены и инициализированы, напишите некоторый код, который печатает каждую из них в 15-позиционном поле на той же строке так, чтобы научная (или электронная, или экспоненциальное обозначение) избегается. Каждое число должно быть напечатано с 5 цифрами справа от десятичной точки. Например, если бы их значения были 24,014268319, 14309, 0,00937608, результат был бы таким:
|ххххххх24.01427хххх14309.00000хххххххх0.00938
ПРИМЕЧАНИЕ. Вертикальная черта | , слева вверху представляет собой левый край области печати; это не для распечатки. Кроме того, мы показываем x в выводе выше для обозначения пробелов — в вашем выводе на самом деле не должно быть x!
Вот, по сути, что я пытаюсь сделать:
cout << fixed << setprecision(5) << 24.014268319 << setw(5) << 5252.25151516 << endl;
Но это дает следующий результат:
24.014275252.25152
Очевидно, я не понимаю, как правильно использовать setw(n)
, кто-нибудь видит, что я здесь делаю неправильно?
cout
, отсутствует в условии задачи, и вы выводите пробел между первым и вторым числами. - person Captain Obvlious   schedule 26.01.2015setw(15)
вместо этого? - person rodrigo   schedule 26.01.201524.01427 5252.25152
- person hax0r_n_code   schedule 26.01.2015setw(5)
не содержит пробелов между числами? - person hax0r_n_code   schedule 26.01.2015setw(15)
перед первым числом. - person Mats Petersson   schedule 26.01.2015setw()
определяет, сколько места должно занимать число (по крайней мере, если вы напечатаете 10010191001121.1234, оно вполне может занять больше - и, таким образом, между ними не будет пробела. - person Mats Petersson   schedule 26.01.2015setw(5)
расширит ширину, используемую следующим числом, до 5 символов, но, учитывая, что он сам использует около 10, он не делает ничего полезного. Если вам нужен пробел, просто<< ' '
. - person rodrigo   schedule 26.01.2015