Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#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. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 23:59 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
stut, попробуй разбивать задачу на подзадачи: поиск слов и собственно реверсирование слова, тогда код и читать проще, и находить проблему легче. разбери как работает следующий пример Код: 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. вывод Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 02:12 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
A что значит for(; b<--e;++b) там ведь h-вводится. И что там начальное в цыкле fоr-и почему b должно быть меньше и от е точнее еще на 1 уменьшенное. Почему в двох параметрах идет речь о пре-крементах. И самое главное: что значит возвратить h он же b равен. И иак это влияет на использование в функции реверса в строке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 06:34 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
stutИ что там начальное в цыкле fоr-и почему b должно быть меньше и от е точнее еще на 1 уменьшенное. Потому что автор немного отступил от своего же описания Анатолий Широковсобственно реверсирование слова Тут reverse(char *b, char *e) переворачивает последовательность символов с пробелом (или нулем) в конце, т.е. "e" указывает не на последнюю букву слова, а на символ за ней, поэтому хитрость с "--e" нужна чтобы этот последний символ не трогать. stutИ самое главное: что значит возвратить h он же b равен. b меняется и в конце h != b stutИ иак это влияет на использование в функции реверса в строке? В данном конкретном случае никак, h тут вообще лишний. Можно тип функции сделать void и убрать char* h = b; и return h; Такой подход классический для работы со строками чтобы удобно было комбинировать несколько функций в одном выражении. Например сравнить два перевернутых слова Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 07:25 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 07:35 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Dima_T, а Анатолий Широков уже видимо сделал всё на указателях .. Анатолий Широков// реверс последовательности символов, заданной полуоткрытым диапазоном [b, e) Хороший комментарий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 07:41 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНаконец-то я могу выложить свой способ :) Ты не ту задачу решил. Близко к исходной, но не ту. Задача стояла "функция реверса каждого слова строки", а ты сделал вывод каждого слова наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 09:21 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Dima_Tфункция реверса каждого слова строки т.е. чтобы я перезаписывал в память для этой-же строки значение её реверса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 09:29 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
SashaMercuryDima_Tфункция реверса каждого слова строки т.е. чтобы я перезаписывал в память для этой-же строки значение её реверса? да, записать реверс поверх исходного слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 09:35 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Да, она не возвращает значение, даже неявно не возвращает, и вчера про это думал целый день. Решил её не переделывать. Мне показалось что для данной задачи лучше читать память по другому, нежели менять значение строки. Впрочем для самообразования напишу функцию которая делает реверс сама в себя. Но я хочу придумать другой алгоритм. Сначала таким-же, а потом другой. Будущий алгоритм напоминает мне часы. Шестерни точнее. Я хочу вставлять эту строку в паззл и толкать её, там где будут отдельные слова, будут шестерни, я кручу строку по кругу и всё становится на свои места. И всё равно должен быть алгоритм ещё лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 09:57 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:00 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Dima T, Я не отступал от своего комментария // реверс последовательности символов, заданной полуоткрытым диапазоном [b, e) Где ты нашел отступление? b входит, e не входит в полуоткрытый диапазон. stut, Идея реверса состоит в движении двух указателей b и e на встречу друг другу, а обмен имеем смысл пока указатель на начало b меньше указателя на конец e. В силу того, что e не входит в диапазон и рассматривается как терминатор последовательности мы сначала его уменьшаем на единицы, а только потом обращаемся к содержимому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:02 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
SashaMercury, круто, рисуй ещё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:13 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНаконец-то я могу выложить свой способ :) Я написал его вчера, и не исправил его полностью, то есть там есть ещё что-то кроме указателей. Сейчас буду править Код: plaintext 1. 2. Когда ты придумываешь имена для функций в С++ - нужно их наполнять смыслом. Это никакой не реверс. Это по смыслу - printReverse() или reversePrint(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:15 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковDima T, Я не отступал от своего комментария // реверс последовательности символов, заданной полуоткрытым диапазоном [b, e) Где ты нашел отступление? b входит, e не входит в полуоткрытый диапазон. я про твою исходную постановку задачи 15586620 Анатолий Широковпопробуй разбивать задачу на подзадачи: поиск слов и собственно реверсирование слова Как мне показалось эта небольшая нестыковка вызвала непонимание. Комментарий полностью соответствует тому что функция делает. Тут я ничего против не писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:18 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Dima T, Да, вроде, все понятно, слово можно задать полуоткрытым диапазоном, а можно открытым. Все равно это будет реверс слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:23 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
SashaMercuryя кручу строку по кругу и всё становится на свои места Это тебе не поможет (насколько я понял твои картины) по кругу это так abc => bca => cab => abc Изобретай шестерню другой системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:25 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Тут еще до кучи можно поднять вопрос скорости. Раз уж мы в общем случае должны скопировать аргумент в буфер, то было бы логично вместо копирования и последующего реверса по месту делать копирование одновременно с реверсом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:46 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryя кручу строку по кругу и всё становится на свои места Это тебе не поможет (насколько я понял твои картины) по кругу это так abc => bca => cab => abc Изобретай шестерню другой системы В перспективе - это PPM архиватор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 10:57 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Вообще я должен сказать, что вы все подходите к решению проблемы недостаточно масштабно. Нет размаха.... Как надо это делать? Составить словарь всех слов, с их реверсами. Выделить в тексте слова, найти по словарю и заменить на реверс. Вещь как надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 11:59 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Словарь? Опять Стебелёк нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 12:12 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Ну и без лексера и парсера не обойтись. А то как составить синтаксическое дерево слов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 12:30 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Анатолий Широков Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. допустим: Код: plaintext 1. Я пытался сделать следующее: Код: plaintext 1. Не могу понять в чём проблема. Мне кажется я что-то упустил или забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 07:39 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
И почему-то адрес с которого начинается "Hello" всегда заканчивался 8.Хотя это может быть совпадение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 07:46 |
|
||
|
Ошибки в функции реверса каждого слова строки
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНе могу понять в чём проблема. Мне кажется я что-то упустил или забыл. Конкретнее надо писать что именно не получается. Тут телепатов нет. Как минимум ты неверно вызываешь reverse(), т.к. указатель конца надо не НА последний, а ЗА последний символ, т.е. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 07:46 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38565779&tid=2019647]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 189ms |

| 0 / 0 |
