AKB Forums

Go Back   AKB Forums > Technical sections > Languages, Compilers and Interpreters
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

Troubles when posting message? Click here! :: Проблемы с отправлением сообщения? Нажмите сюда!

Reply
 
LinkBack Thread Tools Display Modes
Old Apr 23, 2004, 19:25  
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
И еще задача

На этот раз предлагаю следующую:
дано: std::string с каким - либо содержанием
надо: убрать все ведущие и конечные пробелы, а в середине слова оставить только единичные.
Пример:
" хелло ворлд йо! "
будет:
"хелло ворлд йо!".
Решение желательно короче - чем короче тем лучше
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 04:55   #16
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Simplest Thing That Will Work
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 06:50   #17
....
 
JennyWren's Avatar
 
Join Date: Apr 2004
Location: Across the Universe
Posts: 2,500
Rep Power: 5
Reputation: 63
Send a message via ICQ to JennyWren Send a message via Skype™ to JennyWren
Quote:
Originally Posted by Agregat
Скорость кода химера.
Premature Optimization is Evil D.E.Knuth.
Пока с профайлером не посидел и не увидел, где медленно и что медленно - надо работать по принципу "самая простая вещь, которая сработает", а все остальное делается потом.
da poka ne znaesh nuzhno sdelat' prototype-t.e rabotayushuyu programmu algorithm kotoroy mozhet rabotat' ne ochen' effectivno i medlenno..no potom nuznho vse vremya uluchshat' chtobi programma(product) stala kachestvennoy
JennyWren is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 08:07   #18
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Кто сказал, что качественная программа - это быстрая программа?
Качество определяется отказоустойчивостью, удобностью и другими параметрами. Скорость должна быть достаточной, а не максимальной. Почувствуйте разницу.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 11:59   #19
Administrator
 
greka's Avatar
 
Join Date: Sep 2001
Location: @work
Posts: 5,347
Rep Power: 10
Reputation: 23
Send a message via ICQ to greka
согласитесь, господа, отказ в результате исчерпания ресурсов (оперативная память и процессорное время, в первую очередь) и есть один из факторов, который может "быстро написанную медленно работающую" программу сделать тормозом системы, а то и вовсе - причиной BSOD-a.

достаточная скорость - может, для одного instance-а и достаточна скорость, но не для двух или пяти - это все равно останется примером "качественной программы"?
greka is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 14:14   #20
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Quote:
Originally Posted by greka
согласитесь, господа, отказ в результате исчерпания ресурсов (оперативная память и процессорное время, в первую очередь) и есть один из факторов, который может "быстро написанную медленно работающую" программу сделать тормозом системы, а то и вовсе - причиной BSOD-a.

достаточная скорость - может, для одного instance-а и достаточна скорость, но не для двух или пяти - это все равно останется примером "качественной программы"?
Господин Казарян, если возникает отказ из-за нехватки процессорного времени (никогда не слышал о таких отказах вне систем реального времени), то значит скорость недостаточна - то есть не удовлетворено условие, не так ли?
Далее, если это узкое место (bottleneck) системы, что доказано профайлером, опять же мы приходим к понятию недостаточной скорости. Смотрим дальше, работает несколько экземпляров одной и той же программы и данная фунцкия, опять же, доказано профайлером, является узким место - прекрасно, значит скорость недостаточна.
Итак я не увидел противоречия со сказанным мною - пока не доказано, что данная функция является узким местом пишем STTWW, если же доказывается обратное - оптимизируем, переписываем. В больших и особенно опаздывающих проектах - это дает шанс успеть вовремя, а успеть вовремя это заработать деньги, а сидеть и оптимизировать не зная нужно ли это на самом деле - это тратить деньги работадателя, что ему явно не понравится. Преимущества STTWW, что для написания не тратится много времени, то есть, если функция не удовлетворяет каким - либо критериям (память, скорость или иные), пишется оптимизированая версия и разница во времени не большая.
Касательно систем реального времени - так ведь нет правила без исключений. Да, согласен, в RT приложениях надо выжимать с самого начала все процессорные такты. Но какой процент из написаных Вами (зная примерную специфику Вашей работы, сколенен предположить, что у вас этот процент не нуловой, в отличие от меня) и не только приложений являлись RT приложениями?

Насчет конкретно моей функции - быстрее ты не напишешь, разве что попытаешься написать свой std::unique, но не верится в лучшие результаты.

BSOD - понятие ОС семейства Windows. Не лучший термин в данном котексте, так как обсуждение идет "в общем и целом".
Спасибо, за винимани.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 17:16   #21
Administrator
 
greka's Avatar
 
Join Date: Sep 2001
Location: @work
Posts: 5,347
Rep Power: 10
Reputation: 23
Send a message via ICQ to greka
2 Agregat: нет.
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
greka is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 19:18   #22
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
обоснуйте.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Apr 27, 2004, 19:20   #23
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Кроме того хорошая аббревиатура KISS == Keep it Simple, Stupid!
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Apr 28, 2004, 14:17   #24
the mochinger
 
Hans Andersen's Avatar
 
Join Date: Feb 2002
Location: Paranoid Android, @10:50
Posts: 1,771
Rep Power: 7
Reputation: 102
Send a message via ICQ to Hans Andersen Send a message via MSN to Hans Andersen Send a message via Yahoo to Hans Andersen
Quote:
Originally Posted by Agregat
Кроме того хорошая аббревиатура KISS == Keep it Simple, Stupid!
Ja soglasen s garikom i toje skaju: net. (ne .NET, a prosto net)
Btw, simplicity i speed ne iskljuchajut drug druga, tak chto tvoj etot ne protiv, a naobarot, za garika.
If you spend a little more time in coding you find solutions simpler and better. Btw, the time required for completing the project is shorter when you think more (including about speed) during coding
__________________
The flower that blooms in adversity is the most rare and beautiful of all.
Hans Andersen is offline   Reply With Quote Quote selected
Old May 10, 2004, 03:29   #25
Бакалавр
 
Join Date: Mar 2002
Location: Detroit, MI, USA
Posts: 482
Rep Power: 7
Reputation: 10
Quote:
Originally Posted by Agregat
Господин Казарян, если возникает отказ из-за нехватки процессорного времени (никогда не слышал о таких отказах вне систем реального времени), то значит скорость недостаточна - то есть не удовлетворено условие, не так ли?
Далее, если это узкое место (bottleneck) системы, что доказано профайлером, опять же мы приходим к понятию недостаточной скорости. Смотрим дальше, работает несколько экземпляров одной и той же программы и данная фунцкия, опять же, доказано профайлером, является узким место - прекрасно, значит скорость недостаточна.
Итак я не увидел противоречия со сказанным мною - пока не доказано, что данная функция является узким местом пишем STTWW, если же доказывается обратное - оптимизируем, переписываем. В больших и особенно опаздывающих проектах - это дает шанс успеть вовремя, а успеть вовремя это заработать деньги, а сидеть и оптимизировать не зная нужно ли это на самом деле - это тратить деньги работадателя, что ему явно не понравится. Преимущества STTWW, что для написания не тратится много времени, то есть, если функция не удовлетворяет каким - либо критериям (память, скорость или иные), пишется оптимизированая версия и разница во времени не большая.
Касательно систем реального времени - так ведь нет правила без исключений. Да, согласен, в RT приложениях надо выжимать с самого начала все процессорные такты. Но какой процент из написаных Вами (зная примерную специфику Вашей работы, сколенен предположить, что у вас этот процент не нуловой, в отличие от меня) и не только приложений являлись RT приложениями?

Насчет конкретно моей функции - быстрее ты не напишешь, разве что попытаешься написать свой std::unique, но не верится в лучшие результаты.

BSOD - понятие ОС семейства Windows. Не лучший термин в данном котексте, так как обсуждение идет "в общем и целом".
Спасибо, за винимани.
Согласен, за исключением того, что РТ системы - необязательно быстродействующи (распространенное заблуждение).
Определение системы реального времени звучит приблизительно так: "...... гарантирующая время отклика на внешнее событие". Т.е. важен факт константности а не минимальности времени отклика.

А вообще, помоему, самое главное - как можно быстрее получить рабочую игрушку (прототип) и обкатывать на ней как алгоритмы так и вопросы дизайна. А всякие CMM, OOA & OOD, SLDC и.т.д имеют весьма ограниченную область применения.

Удачи!
__________________
Hovhannes Tumanyan,
CISSP
Tumanyan is offline   Reply With Quote Quote selected
Old May 10, 2004, 11:25   #26
Administrator
 
greka's Avatar
 
Join Date: Sep 2001
Location: @work
Posts: 5,347
Rep Power: 10
Reputation: 23
Send a message via ICQ to greka
я тоже за мир во всем мире.
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
greka is offline   Reply With Quote Quote selected
Old May 10, 2004, 15:12   #27
....
 
JennyWren's Avatar
 
Join Date: Apr 2004
Location: Across the Universe
Posts: 2,500
Rep Power: 5
Reputation: 63
Send a message via ICQ to JennyWren Send a message via Skype™ to JennyWren
Koroche duamyu nuzhno ugluboitsya v Soft. Engineering...
JennyWren is offline   Reply With Quote Quote selected
Old Aug 19, 2004, 12:13   #28
Дошкольник
 
Join Date: Aug 2004
Location: Oxford
Posts: 141
Rep Power: 5
Reputation: 10
if(s.charAt(0) == ' ')s.deleteCharAt(0);

for(int i = 1; i < s.length(); i ++){
if(s.charAt(i - 1) == ' ' && s.charAt(i) == ' '){
s.deleteCharAt(i);
i --;
}
}

if(s.charAt(s.length() - 1) == ' ')s.deleteCharAt(s.length() - 1);
Ablertus is offline   Reply With Quote Quote selected
Old Aug 19, 2004, 12:14   #29
Дошкольник
 
Join Date: Aug 2004
Location: Oxford
Posts: 141
Rep Power: 5
Reputation: 10
no good code editor, Schade
Ablertus is offline   Reply With Quote Quote selected
Old Aug 19, 2004, 12:20   #30
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Quote:
Originally Posted by Ablertus
if(s.charAt(0) == ' ')s.deleteCharAt(0);

for(int i = 1; i < s.length(); i ++){
if(s.charAt(i - 1) == ' ' && s.charAt(i) == ' '){
s.deleteCharAt(i);
i --;
}
}

if(s.charAt(s.length() - 1) == ' ')s.deleteCharAt(s.length() - 1);
1. Используйте php тэги - тогда выйдет.
2. в ручную вы все как-то. и код не правилен. Так как если в начале будет 2 пробела то один останется. Простая проверка на строке " а" это покажет.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


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


All times are GMT. The time now is 06:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
This board was founded on September 29, 2001
Powered by Viper Internet

Affordable Web Hosting | ParevNet

Buy text link