Вот мой код, пожалуйста, скомпилируйте и помогите мне разобраться, где это дополнительное пространство перед первой строкой несортированных номеров. Я потратил не менее 6 часов, пытаясь понять это, и я не могу. Извините за то, что потратил свое время, если это простой ответ. Я ценю всю помощь, которую я могу получить. Спасибо!Дополнительное пространство, появившееся из ниоткуда (пожалуйста, смотрите)
-5
A
ответ
0
Проблема заключается в строках 36 и 39.
В этом случае, станд :: setw и станд :: setprecision работают только на следующий номер. Другими словами
std::cout << std::setw(3) << 10 << std::endl;
std::cout << 10;
Выведет
10
10
Существует не дополнительное пространство в передней части первой. Скорее, во втором нет места.
Пересмотрите ваши функции печати:
void printArray(double array[], int numberOfValues, int numberPerLine, int spaces, int digits);
Назовите это так:
printArray(array, numberOfValues, numberPerLine, spaces, digits);
И добавьте setw и setprecision строки в соответствующие заявления COUT:
for (i = 1; i <= numberOfValues; i++) {
if (i % numberPerLine == 0) {
cout << setw(spaces) << setprecision(digits) << array[i-1] << endl;
} else {
cout << setw(spaces) << setprecision(digits) << array[i-1] << "\t";
}
}
Все будет располагаться справа. Обратите внимание, что это все еще не устраняет отсутствие std :: fixed. Вы не будете показывать количество цифр, запрошенных вторым входом.
+0
Большое вам спасибо! –
Я ввел 2,2,3, и все выглядит нормально. Вам нужно будет объяснить, что вы ожидаете *. – nvoigt
Добро пожаловать в переполнение стека. Я предлагаю вам воспользоваться [tour] (http://stackoverflow.com/tour) с особым вниманием к [«Как задать хороший вопрос?»] (Http://stackoverflow.com/help/how-to -просить). В частности, вы должны опубликовать свой код, а не ссылку на свой код. – Beta