![]() | |
| |||||||
| Home | Register | Blogs | FAQ | Members List | Calendar | Downloads | Arcade | Mark Forums Read |
| Languages, Compilers and Interpreters C,C++,C#,.NET,Java,PHP,Perl,SQL and more |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| Грустно... | И еще задача На этот раз предлагаю следующую: дано: std::string с каким - либо содержанием надо: убрать все ведущие и конечные пробелы, а в середине слова оставить только единичные. Пример: " хелло ворлд йо! " будет: "хелло ворлд йо!". Решение желательно короче - чем короче тем лучше ![]()
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #2 |
| The Reloaded Join Date: Jan 2002 Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,178
Rep Power: 7 Reputation:
45 | Code: string::size_type pos = s.find_last_not_of(' ');
if(pos != string::npos)
s.erase(pos + 1);
pos = s.find_first_not_of(' ');
if(pos != string::npos)
s.erase(0, pos);
for(string::iterator it = s.begin(); (it = adjacent_find(it, s.end())) != s.end(); s.erase(it));
__________________ Сайт армянских маньяков Last edited by Aram Hambardzumyan : Apr 24, 2004 at 07:57. |
| | |
| | #3 |
| The Reloaded Join Date: Jan 2002 Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,178
Rep Power: 7 Reputation:
45 | Code: s.erase(find_if(s.rbegin(), s.rend(), bind1st(not_equal_to<char>(), ' ')).base(), s.rbegin().base()); s.erase(s.begin(), find_if(s.begin(), s.end(), bind1st(not_equal_to<char>(), ' '))); for(string::iterator it = s.begin(); (it = adjacent_find(it, s.end())) != s.end(); s.erase(it));
__________________ Сайт армянских маньяков |
| | |
| | #4 | |
| Грустно... | Quote:
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! | |
| | |
| | #5 |
| Грустно... | Кроме того, что является моей ошибкой в постановке задачи, символы перевода на новую строку, табуляция и прочие тоже считаем за пробелы ![]()
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #6 |
| Грустно... | У меня 2 решения одно в лоб и длинное, другое с стиле STL и короткое: PHP Code:
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #8 |
| Грустно... | А кто-то говорил, что она сложна? ![]() В QT есть встроеная фунцкия в QString, которая делает это (Сам не видел, с QT не работал, но знающие люди говорили).
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #12 |
| Грустно... | Скорость кода химера. Premature Optimization is Evil D.E.Knuth. Пока с профайлером не посидел и не увидел, где медленно и что медленно - надо работать по принципу "самая простая вещь, которая сработает", а все остальное делается потом.
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #13 | |
| The Reloaded Join Date: Jan 2002 Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,178
Rep Power: 7 Reputation:
45 | Quote:
__________________ Сайт армянских маньяков | |
| | |
| | #14 |
| Грустно... | Плохая архитектура не имеет никакого отношения к явному кодированиюб это о дизайне. Присутствие остальных пунктов в твоем перечислении говорит о некачественном кодировании и кривых руках программиста, и имеет мало отношения к технологии - в данном случае C++ Standard Library и алгоритму - в данном случае удаление повторяющихся пробелов. Мое скрoмное ИМХО (C) утверждает, что STTWW срабатывает в большинстве случаев, если ручки не кривые. Я думаю, что короткий и понятный код в несколько раз лучше чем запутанный сложный код с goto, который делает все на 50мс быстрее. Простой код - легче отлаживать и быстрее написать. Ведь основаная проблема в написание софта это опоздание от графика (e.g. Mythical Man-Month), а простой код пишется и сдается пользователю гораздп быстрее. Вот... что-то я разговорился ![]()
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #15 | |
| The Reloaded Join Date: Jan 2002 Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,178
Rep Power: 7 Reputation:
45 | Quote:
![]() хотя, если программист опытный, то он и в общем случае с первого раза скодирует правильно и 'локально-оптимально' наверное ты это подразумевал, когда говорил о первой вещи, которая сработает.кстати, а что за зверь STTWW ?
__________________ Сайт армянских маньяков | |
| | |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Задача | Solger | Fun | 2 | Jan 22, 2004 10:57 |
| Нетривиальная задача | Boyov | Algorithms | 22 | Nov 12, 2003 17:40 |
| Задача. | Gates | Fun | 0 | Oct 24, 2002 19:22 |
| Tрудная Задача / Длинная арифметика | Rainman | Algorithms | 8 | Oct 4, 2002 13:53 |
| Задача Эйнштейна | Gates | General | 1 | Aug 7, 2002 06:19 |