|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2012, 09:51 | #1 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Работа со строками. strtok strrev
Всем привет!
Делаю лабу, и тут столкнулся с проблемой.. алгоритм такой: 1.считываем слово в строке text 2.проверяем есть ли это слово палиндром (анна, дед..) с помощью strrev если да, то выводим это слово и счеткчик палиндромов ++ 3.берем следующие слово вот само задание "дана строка слов, которые разделены пробелами, вывести все слова палиндромы и их количество" вот что написал.. Код:
Код:
Спеши медленно.
|
05.04.2012, 10:25 | #2 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
так надо:
Код:
|
05.04.2012, 10:35 | #3 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
monolit111, большое спасибо!!!
ухх!!! очень классно Вы придумали!! я бы еще долго не догадался до такого.. Код:
делаю другую лабу.. здание в строке найти кол-во слов, найти самое длинное и убрать все лишние пробелы (чтобы между словами был только один пробел.) не могу убрать лишние пробелы. я уже пробовал отдельно в цикле искать два рядом пробела удалять и пересчитывать, но оно видит только первое слово, т.к. после него как бы символ конца строки. Код:
Спеши медленно.
Последний раз редактировалось Stilet; 07.04.2012 в 12:37. |
05.04.2012, 12:44 | #4 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
+1 это для '\0'
А во втором... легче создавать новую строку... например, char[1000], как та, в которую вводишь, и в цикле проверяй символы, и копируй из text в эту переменную... Индексы для обоих массивов свои(т.е. Код:
В итоге получишь какую-то строку, без лишних пробелов, ее потом скопируешь так, если нужно Код:
Это примерная схема, все лень писать) Кстати, strtok тут не особо нужен, много возни будет, как указано выше-легче.. PS Это для удаления лишних пробелов я написал)) А длинное слово(сильно не вникал, но примерно так) вроде должен выдавать) |
05.04.2012, 13:26 | #5 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
спасибо)
самое длинное слово оно ищет) эх.. сегодня весь день проведу за лабами) оно останавливается на первом пробеле. Код:
Спеши медленно.
Последний раз редактировалось Stilet; 07.04.2012 в 12:39. |
05.04.2012, 16:10 | #6 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
Код:
|
05.04.2012, 16:25 | #7 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
это не решает проблему(
ухх.. уже второй час сижу над этой проблемой!! что-то мне подсказывает надо менять подход) возможно в этом цикле надо обрабатывать.. Код:
Спеши медленно.
|
05.04.2012, 16:37 | #8 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
чего то я тебя не пойму...
что не получается? Специально проверил-пробелы удаляются. разве что может быть такой случай, если вначале стоят неск.пробелов...тогда это отдельно рассматривать(проверять надо).. Я вот точно не помню про strtok, но вроде она изменяет строку, и эти операции нужно проводить отдельно(логично было бы сначала удалить пробелы, а затем уже искать самое длинное, как мне кажется) Последний раз редактировалось monolit111; 05.04.2012 в 16:43. |
05.04.2012, 17:16 | #9 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Код:
может есть какая-то ф-ция чтобы удалить определенный символ из строки?? никак не могу придумать, как удалять лишние пробелы из строки, а потом вывести эту строку.
Спеши медленно.
Последний раз редактировалось Stilet; 07.04.2012 в 12:44. |
05.04.2012, 20:17 | #10 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
А ты посмотри, что у тебя после
Код:
--- Строка то изменяется!) так что сначала удаляй пробелы, а потом длину узнавай... ну или создай копию исходной строки, с ней проводи операции для вычисления длин, а у исходной удаляй пробелы-так будет даже лучше, и более правильно.. Последний раз редактировалось monolit111; 05.04.2012 в 21:50. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |