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