Сначала вы используете оператор присваивания =
, где вы должны использовать оператор сравнения ==
. Во-вторых, цикл for уже увеличивает val
из-за третьего оператора цикла for (for (...; ...; ++val)
). Таким образом, нет необходимости увеличивать val
изнутри тела цикла.
Кроме того, учитывая, что вы хотите напечатать все результаты в одной строке, вы должны выводить пробел после каждой итерации, а не std::endl
. Обратите внимание, что последняя итерация является исключением, поскольку вы хотите вывести точку, а не пробел. В фиксированной версии ниже я использовал троичный оператор в теле цикла, чтобы выполнить это.
std::cout << "Enter two integers, pressing <ENTER> after each integer." << std::endl;
int num1, num2, lower, upper;
std::cin >> num1 >> num2;
if (num1 >= num2)
{
upper = num1;
lower = num2;
}
else if (num1 < num2)
{
upper = num2;
lower = num1;
}
std::cout << "All integers between " << lower << " and " << upper << " are:" << std::endl;
for (int val = lower; val <= upper; ++val)
{
std::cout << val << ((val == upper) ? "." : " ");
}