|
|
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Есть char *a = "hack"; получить "kcah"! Самое главное элегантно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 05:03 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Может и не элегантно, но вроде коротко. Для затравки я думаю, пойдет. Самый очевидный вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. P.S. А вообще идея хорошая, в свое время в журнале "ZX-Ревю" был такой раздел, назывался "Этюды", где люди предлагали самые эффективные способы выполнения каких-либо действий. --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 05:16 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Я вот именно на эту тему и хотел удочку закинуть! Хочешь еще задачку на элегантное решение? Есть такая функция atoi ! Сделай то же самое сам ! Условия теже!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 05:23 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Я сначала решил вот так: (зацыни! ) void Reverse(char *src, char *dst) { for(int i = strlen(src)-1, a = 0; i >= 0; i--, a++) { dst[a] = src ; } } Аргументы по ссылке! Но здесь входной и выходной массив! А, потом я пришел почти к тому же что и ты! Тренировать мозги иногда полезно! Так что насчет atoi? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 05:28 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Сорри - вот так! Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 05:33 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Попробую. Подожди пару дней, сегодня работы много. --- Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 06:04 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. это я мелкомягкие исходники поставляемые с dotnet студией перекоцал. там у них поддержка многопоточности была добавлена, 64 битовых целых и юникода вроде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 06:05 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Ну вот, не успел. --- Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 06:08 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Хм, попробую! Если от мелкомягких то - это либо индийцы либо китайцы навояли! Посмотрим! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 06:15 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Dubrov! Почему не успел! Успел успел! Давай свою идею ... все равно интересно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 06:16 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
а мне лень думать ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 07:54 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Эллегантно так эллегантно: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 08:16 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
8-) Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 08:47 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
упс, звиняйте. копировать надо в другую строку 8-))). Если это копирование нужно. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 08:52 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
а можно написать и при помощи swap. Только надо ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 08:55 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
вобчем главная идея - используйте STL, и жить станет проще Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 08:59 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
SergLetСорри - вот так! Код: plaintext 1. 2. 3. 4. 5. 6. 7. А так пойдет? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Просто у вас с Дубровым, на мой, конечно, скромный взгляд, как то по паскалевски получилось А C он на то и C, чтоб сторонних наблюдателей как можно сильнее запутать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 09:51 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Мне вспоминается один шуточный тест который я нашел в дебрях FIDO-net. Задание: дана переменная x. Написать программу на любом языке программирования которая проверяет если x=3 то записывает в x число 2. И наоборот. По результатам теста составляется портрет программиста: его характер, склонности к математике, оптимизации, парадигмам искусственного интеллекта. Проверьте себя, коллеги. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:30 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:37 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Круто! Способность к оптимизации на низком уроване!! А еще у кого есть варианты? Смелее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:48 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
это наверное в "программирование" надо такие темы поднимать. тут не много представителей других языков шатается :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:59 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
самый классный вариант - сделать ассемблерную вставку push...push до нуля, заодно определяем длину. А потом делаем pop...pop... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:10 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
стековые операции - не самые эффективные, насколько я помню. хотя на спектруме такой подход рулил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:14 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
maytonКруто! Способность к оптимизации на низком уроване!! А еще у кого есть варианты? Смелее! Круто, но слишком понятно Поэтому несколько переделаю код alex_k-я Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:21 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
alex_kстековые операции - не самые эффективные, насколько я помню. хотя на спектруме такой подход рулил некоторые переменные можно сделать register, и пожалуй это будет самый быстродействующий способ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:22 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
v6y maytonКруто! Способность к оптимизации на низком уроване!! А еще у кого есть варианты? Смелее! Круто, но слишком понятно Поэтому несколько переделаю код alex_k-я Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:30 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Можно рассмотреть концепцию интерфейса перевернутой строки. То есть переопределить строковые операции для обратных строк. Пример кода на "псевдо-языке": Код: plaintext 1. 2. 3. Выигрываем на времени выполнения. И получаем благодарность от жителей стран Востока которые пишут справа налево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:30 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
maytonВыигрываем на времени выполнения. И получаем благодарность от жителей стран Востока которые пишут справа налево. О , как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:35 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
2 FishingGod Молодец! Бонус за функциональный подход! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:37 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
JibSkeart maytonВыигрываем на времени выполнения. И получаем благодарность от жителей стран Востока которые пишут справа налево. О , как Что как? Выигрываем? Или получаем благодарность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:40 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
maytonМожно рассмотреть концепцию интерфейса перевернутой строки. То есть переопределить строковые операции для обратных строк. Пример кода на "псевдо-языке": Код: plaintext 1. 2. 3. Выигрываем на времени выполнения. И получаем благодарность от жителей стран Востока которые пишут справа налево. А каким образом выигрываем на времени выполнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:46 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Обьясняю популярно. Строка НЕ ПЕРЕВОРАЧИВАЕТСЯ. Изменяются методы ввода-вывода строки на консоль и строковые операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:53 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
maytonОбьясняю популярно. Строка НЕ ПЕРЕВОРАЧИВАЕТСЯ. Изменяются методы ввода-вывода строки на консоль и строковые операции. Ну тогда для доступа к отдельным частям строки все равно придется применять некие арифметические операции: типа str[j] должно вернуть str[len-j-1] (j=0,len-1) и т.д. Может тогда проще один раз перевернуть и не париться? Или я опять вашу идею недопонял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 12:26 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
v6y maytonОбьясняю популярно. Строка НЕ ПЕРЕВОРАЧИВАЕТСЯ. Изменяются методы ввода-вывода строки на консоль и строковые операции. Ну тогда для доступа к отдельным частям строки все равно придется применять некие арифметические операции: типа str[j] должно вернуть str[len-j-1] (j=0,len-1) и т.д. Может тогда проще один раз перевернуть и не париться? Или я опять вашу идею недопонял Вы все верно поняли. Но все зависит от конечных целей вашей разработки. К примеру .. если вы умножаете две матрицы (class Matrix), то по правилам математики, строка первой матрицы должна умножатся на столбец другой. Но для этого нам не нужно переворачивать вторую. Мы можем определить интерфейс ITransposeMatrix для класса Matrix где операция [i,j] будет возвращать то что требуется без перестановок в оперативной памяти. Сравнивая затраты на операцию [] и физическую реорганизацию элементов в двумерном массиве, я могу сказать что первое - предпочтительнее. Я привел слишком простой пример. Чтобы почувствовать вкус программирования с использованием интерфейсов надо создать нечто большее. Если автор топика расскажет подробнее о самой постановке задачи, где требуется "кувыркать" строки, то возможно я .. и другие коллеги дадим более детальный совет. С уважением Mayton ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 13:40 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
SergLetЕсть char *a = "hack"; получить "kcah"! Самое главное элегантно! А если взять из StrUtils функцию ReverseString("hack"); C++Builder 6 Note: This method does not work with multibyte character sets. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 13:56 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
maytonК примеру .. если вы умножаете две матрицы ...едпочтительнее спасибо, было оч интересно увидеть красивое решение проблемы, к-рую как-то решал сам =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 14:16 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
dwlвобчем главная идея - используйте STL, и жить станет проще Код: plaintext 1. 2. 3. 4. 5. Зачем отнимать 1? Все стандартные алгоритмы принимают полуоткрытые интервалы, так что правильно так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 15:26 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Да, и чтобы было совсем правильно, переменная old должна быть объявлена как показано ниже, так как объевление переменной old как char *old = "1234" скрывает неявный const и программа просто не скомпилируется: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 15:33 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
тут поделились интересным кодом . его содержимое говорит само за себя, любопытная штука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 20:47 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
У меня atoi почти как у alex_k, потому и написал что не успел. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 09:47 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
2зёма а чего, если первый символ равен '-' то тогда не надо делать str++? или он сделается, а как я не догоняю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 09:56 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
alex_k2зёма а чего, если первый символ равен '-' то тогда не надо делать str++? или он сделается, а как я не догоняю? Ты видишь, что break-ов в switch-e нет? Вот в этом вся идея. То есть + или -, str++ выполнится в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 10:32 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
не умею swith ем пользоваться :-) как-то не прижилось после паскалевково case слишком навороченно както :-) надо разбираться конечно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 10:37 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков Ты видишь, что break-ов в switch-e нет? Вот в этом вся идея. То есть + или -, str++ выполнится в любом случае. Совершенно верно. А вообще, switch в C мне намного больше нравится чем case в Паскале. --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 05:44 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
dwlвобчем главная идея - используйте STL, и жить станет проще Код: plaintext 1. 2. 3. 4. 5. Задача стояла - написать ф-цию переворота строки, а не использовать что-то написаное кем-то. (Просьба не обижаться, это просто константация факта, а не наезд). --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 06:44 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Дайте и мне шашкой помахать :) Код: plaintext 1. 2. JibSkeart, ты письмо получил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 07:40 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Ещё короче: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 08:07 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
DubrovУ меня atoi почти как у alex_k, потому и написал что не успел. не учитывает граничные значения интов и ошибку переполнения. насчет "переворота" Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 09:18 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
dwl не учитывает граничные значения интов и ошибку переполнения. В книге Р.Жешке "Толковый словарь языка C" в описании функции atoi написано: ... если результат превосходит MAX_INT, происходит ошибка ввода-вывода ... результат функции не определен. Так что как я понимаю отслеживание таких глюков должен производить программист использующий функцию, а не ее (функции) разрабочик. Как поведет себя следующая конструкция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 09:41 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
А ввобще, давайте перенесем это обсуждение из "C++" в "Программирование", интересно как эту задачу решат люди сидящие на других языках. Просто я не знаю как это сделать, с кем договариваться (с модератором, наверное?). --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 09:44 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
сообщил модератору :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 09:49 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Я не понял... никто ещё не понял, что моя функция самая короткая и быстрая? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 10:33 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
SiebentearbeitЯ не понял... никто ещё не понял, что моя функция самая короткая и быстрая? :) Твое решение быстрое ... но требует дополнительной памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 10:56 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Второй вариант, который от СЕМЬ, не требует дополнительной памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 14:54 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
SiebentearbeitВторой вариант, который от СЕМЬ, не требует дополнительной памяти. Не возражаю. Теперь неплохо-бы тест производительности написать. Скажем 1000 тестовых вызовов функции str_reverse. Только не для слова "Hack" а для чего-нибудь посолиднее. Поставить #define _UNICODE. И сравнительная таблица времени выполнения для: 1) str_reverse - чистый C++ 2) STL реализация переворота строки 3) СString строки (желательно встроенный метод) 4) TString строки (желательно встроенный метод) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 16:23 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
SiebentearbeitВторой вариант, который от СЕМЬ, не требует дополнительной памяти. Код: plaintext 1. Код: plaintext 1. Поэтому метод Дуброва, модифицированный мной, побыстрее будет, IMHO Жаль только, что разницу в скорости вряд ли кто заметит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2005, 10:51 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Ну, с XOR'ами, я перестарался... но добивался красоты, а с strlen не такая уж и большая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 10:38 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Для многих платформ проверка условия цикла на 0 идет быстрее чем сравнение двух переменных. На моей машине 100 млн вызовов функции занимют 15 сек. Пробуйте другие варианты если есть желание. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. P.S. Для UNICODE еще не тестировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 10:50 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
mДля многих платформ проверка условия цикла на 0 просто для условий получается так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. а while тоже самое выдал: Код: plaintext 1. 2. 3. 4. 5. 6. Ничё не пойму... tst работает быстрее чем cmp ведь? и dec быстрее чем sub... Это потому что под дебагом нет оптимизации? Или MS компилятор такой? Хотя, помню, если умножать на 2(4,8) он оптимизирует сдвигом.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 07:44 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
SiebentearbeitДайте и мне шашкой помахать :) Код: plaintext 1. 2. JibSkeart, ты письмо получил? Неа , что то не вижу писем никаких ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 08:12 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
DubrovА ввобще, давайте перенесем это обсуждение из "C++" в "Программирование", интересно как эту задачу решат люди сидящие на других языках. Просто я не знаю как это сделать, с кем договариваться (с модератором, наверное?). --- С уважением, Dubrov. Можно , просто ссылку дать :) То есть завести , новый топик там и в нем указать сЦылку ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 08:17 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Про atoi. Переполнение проверять не надо, а вот систему счисления надо. Если 123 - decimal 0123 - octal 0x123 - hex Свой вариант предложу позже. --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:42 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
ATOI: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Программа, как я чувствую очень платформенно-зависимая (Кодировка - только ASCII). --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:56 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Не быстро. Не коротко. Но красиво. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Washington Irving ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 17:27 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
Тут где-то проскакивало, что по тому как человек написал программу можно определить его характер, мышление и т.д. Вот пример atoi. Массив хоть и относительно большой (256*sizeof(int)) зато какой простой цикл. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. --- C уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 13:37 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
#include <iostream.h> #include <string.h> int main() { char str[]="hack"; int l=strlen(str)-1; for(int i=0; i < l; ++i,--l) { str ^=str[l]^=str^=str[l]; } cout << str << endl; return 0; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:20 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
void main () - ne pravilno int main( ) - odin iz pravilnix variantov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:24 |
|
||
|
Кто знает самую короткую и красивую функцию переворота строки?
|
|||
|---|---|---|---|
|
#18+
tochnee Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:33 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2033611]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
119ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 448ms |

| 0 / 0 |
