Я пытаюсь написать программу, которая принимает пользовательский ввод, сохраняет его в вектор строк и выводит вектор в соответствии с функциями.Распечатка вектора строк назад
для этой функции, «display_backwards», предполагается отображать вход пользователя в зеркальном изображении.
У меня возникли проблемы написания кода, и это дает мне ошибки, которые я не понимаю, почему
это мой код:
void asci_art::display_backwards(vector<string> art)
{
char swap[100];
cout << "Your Artwork in mirrored image" << endl;
cout << "=============================" <<endl;
for (unsigned int i=0; i < art.size(); i++)
{
for(int j=0; j < art[i].size(); j++)
{
swap[j] = art[i].end()-j;
art[i].begin()+j = swap[j];
}
}
for(int k= 0; k < swap.size(); k++)
{
cout << swap[k];
}
cout << endl;
}
функция записывается в классе
вектор, искусство, имеет пользовательский ввод. и для каждого элемента вектора он хранит строку строки , которую я хочу сделать, - это получить доступ к строке элемента и поменять буквы строки, которые, я полагаю, создадут зеркальное изображение.
Я получаю компиляцию ошибок, таких как «невозможно преобразовать _normal iterator> в char», который я не понимаю, потому что я имею дело с символами того же типа. "Нет такой операции как '='" ??
не понимая, почему. Может кто-нибудь объяснить? или, может быть, моя логика ошибочна, так может кто-то помочь мне переписать ее?
Голые со мной, я не так уж и хорош в C++. Я ценю помощь.
EDIT: Извините. забыл упомянуть, что я хочу, чтобы он отражал/зеркально его вертикально.
Посмотрите, что означают 'begin()' и 'end()' return. – chris
Вы хотите зеркалировать его по вертикали или по горизонтали? – scones
@scones вертикально – user2188311