Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Pavel P                              2:5020/400     09 Oct 2002  08:14:07
 To : Andrew Ezhguroff
 Subject : Re: Как закодировать?
 -------------------------------------------------------------------------------- 
 
 
 "Andrew Ezhguroff" <eandr@com2com.ru> wrote in message
 news:anvbv0$kva$1@host.talk.ru...
 [....]
 
 >  PP> toBin 0 = "0"
 >  PP> toBin x = f x
 >  PP> where
 >  PP>    f 0 = ""
 >  PP>    f x = f (x >> 1 bitand INT_MAX) +++ toString (x bitand 1)
 >
 > Что за язык? Довольно забавный синтаксис... Hо на стандартном C++ твой
 
 Haskell/Clean family
 
 > алгоритм можно уложить в 2 строчки:
 > std::string f(int x){return x? f((x>>1)&INT_MAX)+char((x&1)+'0'): "";}
 > std::string toBin(int x){return x? f(x): "0";}
 
 Мериться п...... не будем ? Да ? :))
 
 toBin x = if (x == 0) "0" (f x)
 where
     f x = if (x == 0) "" (f (x >> 1 bitand INT_MAX) +++ toString (x bitand
 1))
 
 И как говорится STL-ные извращения меня не интересуют. :) Это раз
 Количество символов ты уже сравнил? И это при том что оба моих варианта
 аккуратно разделены пробелами для лучшей читаемости. Hу давай
 признайся что С вариант гораздо хуже :) Скобок то сколько!!!
 
 >  PP> Сам догадаешься почему приведеный пример на порядок лучше чем твой С
 
 ?
 
 >
 > И на порядок медленнее (язык больше похож на интерпретируемый)? :-)
 
 Hе получишь ты супер приз :) Hе медленее. Он компилируемый :)
 Тем более когда ты ввел STL, я думаю что С++ будет даже тормознее.
 
 > Hо вот преимуществ я не вижу: дополнительная функция, лишняя рекурсия
 
 Дополнительная функция только у тебя c STL. У меня f не экпортится
 в глобальную область видимости и ты не можешь ее вызвать ни откуда
 кроме как из toBin, а у тебя действительно лишняя глобальная
 функция и побороть ты это в C++ не можешь. Если же убрать where
 то я получу те же 2 строки что и на С (правда с меньшим кол-вом
 символов), но f будет глобальной функцией, что ни есть правильно.
 
 > (проверка выполняется после рекурсивного вызова), серьезные накладные
 
 Меньше чем в STL :) Hа порядок, ибо это не класс, а просто массив :)
 
 > расходы на работу со строками... И уж тем более никаких преимуществ перед
 
 Дык первое письмо по треду призывало преобразовать, а не распечатать
 
 > итерационным вариантом.
 
 Это ты не сможешь доказать :) Сначала напиши итерационный вариант
 преобразования, а не печати строки :)
 
 > К тому же вариант, который ты предложил, не соответствует задаче: надо
 
 было
 
 > не вернуть, а распечатать строку. :-)
 
 Так этим он и лучше :)
 
 Итак поведя итоги:
 С пока не смог отстоят позицию краткого и понятного языка :)
 пригодного для _прозрачного описания алгоритмов_ :)
 
 B.R.
 Pavel
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Как закодировать?   Alexander Chislov   01 Oct 2002 16:42:22 
 Re: Как закодировать?   Ruslan Teluk   01 Oct 2002 19:17:39 
 Re: Как закодировать?   Alexander Chislov   02 Oct 2002 19:12:38 
 Re: Как закодировать?   Mike Makhov   02 Oct 2002 09:28:02 
 Re: Как закодировать?   Alexander Chislov   02 Oct 2002 19:26:54 
 Re: Как закодировать?   Mike Makhov   07 Oct 2002 09:30:38 
 Re: Как закодировать?   Alexander Chislov   07 Oct 2002 18:16:40 
 Re: Как закодировать?   Oleg I. Khovayko   02 Oct 2002 23:06:34 
 Re: Как закодировать?   Viktor Karev   03 Oct 2002 12:13:13 
 Re: Как закодировать?   Oleg I. Khovayko   03 Oct 2002 19:44:19 
 Как закодировать?   Egor Tsygvintsev   03 Oct 2002 22:50:20 
 Re: Как закодиpовать?   Sergey Bychkov   04 Oct 2002 01:42:17 
 Re: Как закодировать?   Andrew Ezhguroff   04 Oct 2002 09:45:58 
 Как закодировать?   Alexey Krasnov   05 Oct 2002 19:23:50 
 Re: Как закодировать?   Andrew Ezhguroff   07 Oct 2002 19:21:08 
 Re: Как закодировать?   Mike Makhov   08 Oct 2002 10:59:46 
 Re: Как закодировать?   Andrew Ezhguroff   08 Oct 2002 13:46:59 
 Re: Как закодировать?   Pavel P   08 Oct 2002 13:11:38 
 Re: Как закодировать?   Andrew Ezhguroff   08 Oct 2002 23:34:21 
 Re: Как закодировать?   Pavel P   09 Oct 2002 08:14:07 
 Re: Как закодировать?   Andrew Ezhguroff   09 Oct 2002 14:05:23 
 Re: Как закодировать?   Pavel P   09 Oct 2002 15:29:35 
 Re: Как закодировать?   Andrew Ezhguroff   10 Oct 2002 03:51:51 
 Re: Как закодировать?   Pavel P   10 Oct 2002 07:06:44 
 Re: Как закодировать?   Andrew Ezhguroff   10 Oct 2002 12:23:39 
 Re: Как закодировать?   Pavel P   10 Oct 2002 13:52:14 
 Re: Как закодировать? GA   Pavel P   10 Oct 2002 12:36:00 
 Вдогонку...   Andrew Ezhguroff   10 Oct 2002 04:50:37 
 Как закодировать?   Victor Bazhenov   10 Oct 2002 19:07:33 
 Как закодировать?   Victor Bazhenov   10 Oct 2002 19:29:44 
 Re: Как закодировать?   Pavel P   11 Oct 2002 06:29:11 
 Как закодировать?   Victor Bazhenov   11 Oct 2002 15:49:41 
 Re: Как закодировать?   Pavel P   12 Oct 2002 09:34:12 
 Как закодировать?   Victor Bazhenov   12 Oct 2002 12:10:49 
 Re: Как закодировать?   Pavel P   14 Oct 2002 06:49:20 
 Как закодировать?   Victor Bazhenov   14 Oct 2002 17:25:42 
 Re: Как закодировать?   Pavel P   15 Oct 2002 06:34:49 
 Как закодировать?   Victor Bazhenov   15 Oct 2002 18:04:55 
 Re: Как закодировать?   Pavel P   16 Oct 2002 07:28:29 
 Как закодировать?   Victor Bazhenov   16 Oct 2002 16:09:36 
 Как закодировать?   Egor Tsygvintsev   04 Oct 2002 21:34:38 
 Как закодировать?   Alexey Krasnov   06 Oct 2002 14:21:18 
 Как закодировать?   Egor Tsygvintsev   06 Oct 2002 22:28:46 
 Как закодировать?   Alex Cvetkov   07 Oct 2002 13:21:55 
 Как закодировать?   Ianos Gnatiuc   08 Oct 2002 22:43:11 
 Как закодировать?   Alexey Krasnov   09 Oct 2002 21:20:00 
 Re: Как закодировать?   Vitaly Slobodskoy   07 Oct 2002 22:01:27 
 Re: Как закодировать?   Sergey Andrianov   02 Oct 2002 08:46:38 
Архивное /ru.algorithms/65772168e9d2.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional