![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.05.2008
Сообщений: 13
|
![]()
Вот собственно условие:
Дан текст, состоящий из N (2<=N<=10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке слова, являющиеся палиндромами. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки и определения является ли они палиндромами, создать пользовательские функции. А вот мои наброски: Код:
|
![]() |
![]() |
![]() |
#2 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]() Цитата:
Как вариант: идете посимвольно по строке и пишете эти символы в строку-буфер. Если встретили пробел или дошли до конца строки, то буфер сбрасываем куда нужно (например, в массив слов) и очищаем его. Про палиндром: идете по слову до середины и проверяете.. Примерно так: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 12.05.2008
Сообщений: 13
|
![]()
С алгоритмами вроде разобрался, но столкнулся с другой проблемой.
Вот изменная программа: Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Во-первых:
Код:
Код:
Надо: Код:
Ошибок много. Уже не помню всего, что исправил. Вот несколько: В функции отделения слов: Код:
Код:
--------------- вот тут: Код:
Код:
---------------- В цикле, где слово проверяется на "палиндромность" после первого же непалиндрома, все остальные тоже будут считаться непалиндромами, т.к. t все время = 0. -------------- В общем, все исправил. Код:
Замечание вдогонку: раз уж вы пишете на C++, то почему бы не использовать класс string вместо си-строк?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 12.05.2008
Сообщений: 13
|
![]()
Вот спасибо, все работает! Насчет класса string: сначала решил взяться за массив чаров, чтоб во всем разобраться, в том числе и с указателями. Но как оказалось, надо было бы сразу перейти на string, что намного проще и понятнее.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на строки | Stiff | Помощь студентам | 6 | 26.03.2009 22:47 |
Задача на строки | LaSeule | Помощь студентам | 2 | 31.01.2009 00:54 |
Задача на строки | Juhn | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 13.05.2008 16:10 |
задача на строки | Hostlman | Помощь студентам | 2 | 26.12.2007 03:17 |