Салют всем чайникам и гуру, девелоперам и фрилансерам, прогерам и кодерам! Но речь не о классификации и иерархии нашего брата. Речь о олимпиадной задачи, которую я уже неделю не могу решить. Я точно знаю: решение что-то простое и гениальное - но вот под каким камнем оно спряталось? Так что, суровые хэшкод-юзеры, прошу у вас помощь в решение этой задачи! Задача: Язык программирования: С++. В программе должна быть 1 единственная функция вывода информации, которая может только писать, т.е. не может удалять текст, а только вставлять новый. При этом она работает следующий образом Исполняемый код: func( "1" ); Вывод: (1) [1] Исполняемый код: func( "1" ); func( "2" ); Вывод (1) (2) [2] [1] Испоняемый код: func( "1" ); func( "2" ); func( "qwer" ); Вывод (1) (2) (qwer) [qwer] [2] [1] Я уверен, что задача решается легко, но у меня нет других вариантов, кроме как все же буферизовать хвост, изменять его, и заменять старый хвост на новый. Но тогда приходится использовать удаление символов. P.S. задача не совсем олимпиадная, эта задачка была давно в какой-то мощной статье по альтернативному программирование где рассматривалось несколько примеров, но вот код реализации такой задачи не помню. И статью ту тоже не могу найти. У самого без удаление символов написать не получается.
Ответ
Испоняемый код:
func( "1" ); func( "2" ); func( "qwer" );
Вывод
(1) (2) (qwer) [qwer] [2] [1]
то есть нужно напечатать в обычном и обратном порядке ????
как я понял можно только вызывать одну и ту же функцию... (если да то решение ниже)
делаем класс func и в нём храним
std::vector
Комментариев нет:
Отправить комментарий