Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите понять смысл поставленной задачи 
:(
    Опции темы
Sammi2186
Дата 22.11.2013, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.11.2013

Репутация: нет
Всего: нет



Вводится текст-набор символов, конец - ".". Программа должна разбить его на слова (последовательности букв латинское алфавита, все другое - разделители) и сформировать несколько списков. В каждом списке информационное поле элементов содержит ссылку на очередное слово, причем последняя буква каждого слова должна совпадать с первой буквой следующего. Количество списков должно быть минимально возможным.
Подскажите, пожалуйста, что нужно сделать, каким образом? Не нужно писать код. Только идею.
PM MAIL   Вверх
tzirechnoy
Дата 22.11.2013, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: -1
Всего: 16



Взять плоскогубцы, и провести испытание давшэму задачу. Чтобы объяснил, например, каким образом "очередное" слово (вероятно, из введённого текста) будет совпадать своей последней буквой с первой буквой следующего -- если слова вместе со своей последовательностью у нас ужэ заданы.
Ну, и другие мелочи, которые будут зависеть от ответа на первый вопрос.

PS << Когда же пытуемый впадает в беспамятство, испытание, не увлекаясь, прекратить…>>
PM MAIL   Вверх
bsa
Дата 23.11.2013, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Sammi2186, задание не полное. В нем не указано, по какому принципу делать списки. Если убрать требование о формировании нескольких списков, то программа очень просто делается:
1. Вводишь строку
2. Заводишь два указателя - один указывает на текущий символ, второй на "свободное место". Им обоим присваиваешь адрес первого символа строки.
3. Берешь символ по первому указателю, если он '\0', то конец; иначе проверяшь с помощью isalpha() и в случае, если это буква, записываешь по адресу второго указателя и инкриментируешь его. В противном случае добавляешь значение второго указателя в список...
PM   Вверх
feodorv
Дата 24.11.2013, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(bsa @  23.11.2013,  20:56 Найти цитируемый пост)
В нем не указано, по какому принципу делать списки.

Почему?
  • Цитата(Sammi2186 @  22.11.2013,  17:40 Найти цитируемый пост)
    последняя буква каждого слова должна совпадать с первой буквой следующего
     - классические "Города"
  • Цитата(Sammi2186 @  22.11.2013,  17:40 Найти цитируемый пост)
    Количество списков должно быть минимально возможным.
Конечно, может получиться так, что в рамках одного набора слов можно составить несколько вариантов списков, но нужен-то хотя бы один вариант...




--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
baldina
Дата 24.11.2013, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



составляем граф связей слов. теперь надо найти все непересекающиеся пути так, что бы они покрывали все вершины и число путей было минимальным.
число путей не может быть меньше числа несвязных компонент.
походу это NP-полная задача.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.