Нужна помощь в форматном выводе. Нужно устанавливать фиксированую ширину поля. И выравнивать по центру слово. Пересмотрел форматный вывод ничего не нашел. Нужен пример кода.
Ну например с помощью манипуляторов
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
for (int i = 0; i < 5; ++i)
cout <<'|' << setw(10) << "word1" << setw(5) << '|'
<< setw(10) << "word2" << setw(5) << '|' << endl;
return 0;
}
слова "word1"
и "word2"
будут находится в середине между символами '|'
При условии, что все слова будут либо четные, либо нечетные.
#include <iostream>
#include <string>
using namespace std;
void PrintWord(const string& s){
int width_field = 12; //ширина поля
string v(width_field, '.'); //для наглядности заполняем точками
string v1;
int l_word = s.size();
int l_field = v.size();
int step = (l_field - l_word)/2;
for(int i = 0; i < l_word; i++){
v1.push_back(s[i]);
}
copy(v1.begin(), v1.end(),v.begin()+step);
for(auto x : v){
cout << x;
}
cout << endl;
}
int main() {
//Пример вывода
PrintWord("ad"); //2
PrintWord("admi"); //4
PrintWord("admira"); //6
PrintWord("admirati"); //8
PrintWord("admiration"); //10
PrintWord("a"); //1
PrintWord("adm"); //3
PrintWord("admir"); //5
PrintWord("admirat"); //7
PrintWord("admiratio"); //9
return 0;
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Помогите найти ошибку,при выполнении вылезает какая-то непонятная шляпа,весь день не могу понять в чем делоПрограмма должна удалять из строки...
Подскажите пожалуйста, что не так, а то вроде бы типичный код, а ошибка одна и та же постоянно, если что OS Linux Ubuntu, IDE AnjutaЗаранее спасибо за ответы
Необходимо распаковать архивbz2, желательно без внешних зависимостей
Мне понадобилась масса таймеров на чистом с++Для решения задачи я пытаюсь использовать список, элементы которого содержат указатели на функции...