![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
привет всем
вот вообщем задачка такая у меня - удалить пробелы в стринге рекурсивным методом и при этом одной функцией без помощи разных STRCAT STRCPY и тд и тп пока вот пришёл к такому решению, но оно не красиво и создаёт очень много рекусивных вызовов , помогите кто может
Это сообщение отредактировал(а) ressac - 10.11.2010, 15:09 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
|
|||
|
||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
результат: "asdnasd" |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
нет, это должно быть без while()
это слишком просто с whilr |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
xvr, не плохой варик, но надо без дополнительного стринга
Добавлено через 7 минут и 54 секунды xvr, |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Ему не нужен дополнительный стринг - ему можно подать один и тот же в оба параметра (см. пример вызова)
Она и есть. Функция есть. Других операторов нет. Если очень нужны - см. листинг во 2м посте |
|||
|
||||
| ressac |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
извини не досмотрел, сейчас попробую её на деле
Добавлено через 10 минут и 39 секунд
эта пашет
эта у меня не скомпилилась... |
||||
|
|||||
| Incinerated |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
по мойму все просто =) (*src) - это разыменование указателя, т.е. обращение к значению текущего смещения указателя (изначально указатель на 1-ом символе) "0" - это конец строки, "default" - это что выполняется по умолчанию (если не пробел), т.е.
сначала происходит запись символа по указателю src в символ по указателю dst и затем происходит смещение указателя dst на 1 вперед, и затем происходит вызов функции:
в функцию передается текущий указатель на символ в который будет происходит запись следующего символа и смещенная на 1 символ строка (srс+1). Надеюсь понятно объяснил =) Это сообщение отредактировал(а) Incinerated - 11.11.2010, 11:04 |
||||||||
|
|||||||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
в случаее
если есть пробел то case ' ': dSpace(dst,src+1); break; и происходит вызов но для случаяя когда нет проблема где вызов? |
|||
|
||||
| Incinerated |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
в случае default не стоит break;, т.е. после присваивания символа программа автоматически переходит в случай case ' ': |
||||
|
|||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
У меня тоже
Это сообщение отредактировал(а) xvr - 11.11.2010, 20:14 |
||||
|
|||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
xvr, спасибо, по истине красивая рекурсися и игра с языком
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Только преподавателю не показывайте - расстреляет из рогатки за 'игры с языком' |
|||
|
||||
| Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
Ещё такой вариант, самый простой по-моему:
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |