|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2012, 22:45 | #11 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
хочу сделать как Вы говорите, но опять не выходит..
вот, что начал писать.. Код:
Спеши медленно.
|
05.04.2012, 23:11 | #12 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
цикл не до 1500(ты наврятли с таким текстом работаешь и вводишь его=)), а до strlen(text) попробуй)
|
06.04.2012, 10:51 | #13 |
Форумчанин
Регистрация: 05.04.2012
Сообщений: 134
|
asmars, вот не мучайся.
Код:
|
06.04.2012, 16:10 | #14 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Nuklon, большое спасибо Вам!
Вы знаете, я не хочу Вас оскорбить, но Ваш код не решил моей проблемы. Т.к. мне нужно разобраться в этом, а не просто скопировать чужой код. Если бы я хотел просто сдать лабу, я бы нашел код скопировал его и сдал. Я еще раз говорю Вам спасибо. И если можно поясните ф-цию: Код:
в ф-цию передается два параметра, первый - сама строка, второй - символ, который надо удалить. после чего создается два указателя *а и *b. а вот условие цикла не понимаю и условия if'a.
Спеши медленно.
|
06.04.2012, 23:02 | #15 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
Вот, рабочий ко))Нормально измененная и исправленная твоя программа)
2 варианта(модификации) удаления пробела, о как))Оставь какой то один, какой больше нравится Код:
Специально проверил, все работало)) Удачи) |
07.04.2012, 00:19 | #16 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
круто) спасибо Вам, monolit111!
обязательно разберу Ваш код) еще интересно код Nuklon'a разобрать!
Спеши медленно.
|
07.04.2012, 09:58 | #17 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
for(a = s, b = s; *b = *a; *a++) {
if(*a == c && *(a + 1) == c) continue; *b++; } return s; Нет ничего проще)) Сначала а и b указывают на одну строку(исходную, в кот-й удалять символ с), цикл до тех пор, пока всю строку не просмотрим(ведь присваивание и результат возвращает, а когда дойдет до '/0', произойдет присваивание и вернется 0-цикл закончится), а Код:
С if'ом: это аналог первому варианту, который описал я, только немного иными словами, скажем так)) Т.е. если текущий и предыдущий символы равны тому, который в случае повторения нужно удалить, то указатель в b не двигается(этот символ "игнорируется", т.е. своеобразное удаление), и переходим к следующей итерации... Иначе указатель в b передвигается вперед, и в условии цикла происходит присваивание(оно и так происходит, но т.к. символы равны, то ничего существенно не меняется) Последний раз редактировалось monolit111; 07.04.2012 в 10:00. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
strtok | Matr1x | Общие вопросы C/C++ | 5 | 18.02.2012 20:34 |
strtok | Lotles | Общие вопросы C/C++ | 4 | 21.12.2011 21:04 |
Работа с матрицами (норма матрицы, работа со строками) | Neitrosha | Помощь студентам | 1 | 26.11.2010 20:19 |
strtok... | Joe_Tribbiani | Общие вопросы C/C++ | 0 | 02.05.2010 15:52 |
си. strtok. | RZMTZM | Общие вопросы C/C++ | 2 | 05.01.2010 12:59 |