Целью этой программы должно быть создание такой выходной строки, что:
- Выходная строка + с пробелами между ними == ширине.
- Строки не обрезаются. Таким образом, он выдает полные слова в строке.
Это то, что у меня есть до сих пор:
int main()
{
int width= 15;
vector<string> line;
line.push_back("Hello");
line.push_back("My");
line.push_back("Name");
line.push_back("Is");
line.push_back("John");
auto s = line.front();
for (auto i = std::size_t {1}; i < line.size(); ++i) s += ' ' + line[i];
for (size_t i = 0; i < s.length(); i+=width+1)
{
s.insert(i,"\n");
}
cout<<s;
}
Я не хочу добавлять пробелы между словами равномерно, чтобы последняя строка не обрезалась и не перемещалась на следующую строку.
Это похоже на вопрос о полном выравнивании текста C++ , но я хочу исправить свой собственная реализация решения этой проблемы.