пятница, 14 мая 2010 г.

aiSee

вчера, в поисках программы для визуализации графов, набрёл на aiSee...

что могу сказать - очень удобная вещь, если можно автоматически генерировать графы из своей программы(файл представления графа пишется на языке GDL, который оч. прост в освоении)

минусом является платная основа данной программы(демо версия распространяется бесплатно)

мне на ум сразу пришла идея реализации класса(или шаблонного класса) для автоматической генерации .gdl файлов... но времени сейчас нет... сессия на носу чтоб её...
но идею класса отложу до лета, когда время у меня появится... *не забыть рассмотреть Boost Graph Library и написать шаблон для выборки из n по k*

да ещё хочется посидеть с WinAPI и Qt... чёёрт... как же не вовремя эта сессия...

P.S. да и переставить системы ещё нужно

совсем забыл, скриншот:

четверг, 13 мая 2010 г.

чёёёрт...

в голове кружится столько новых идей жаждущих реализации...

но чёртова сессия портит всё...

воскресенье, 9 мая 2010 г.

дилемма программиста или вопрос использования невалидного кода

наверно многие программисты сталкиваются в какой-либо момент своей работы с этой проблемой... а именно: использование не совсем корректного кода(но работающего!) в своём проекте или же написание несколько более сложного кода, но не допускающего неоднозначность своего исполнения на различных машинах\компиляторах.

итак... перейду к сути проблемы.
есть код(не рабочий, но компилирующийся):

vector v;
int i = 0;
while(v[i]!= 1 && (i < v.size())) ++i;



и есть рабочий код:

vector v;
int i = 0;
while((i < v.size()) && v[i]!= 1) ++i;



причины его работоспособности во 2м случае кроются в оптимизации операции конъюнкции и думаю, что они будут очевидны тем, кто знает, что это за операция.


вопрос в том, а корректно ли использование такого кода(рабочего варианта) в своих программах или же нет. я имею ввиду вообще, а не конкретный случай(в данном случае всё решается разделением проверок и введением 1й доп. переменной).