| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Помогите понять смысл поставленной задачи |
| Автор: Sammi2186 22.11.2013, 16:40 |
| Вводится текст-набор символов, конец - ".". Программа должна разбить его на слова (последовательности букв латинское алфавита, все другое - разделители) и сформировать несколько списков. В каждом списке информационное поле элементов содержит ссылку на очередное слово, причем последняя буква каждого слова должна совпадать с первой буквой следующего. Количество списков должно быть минимально возможным. Подскажите, пожалуйста, что нужно сделать, каким образом? Не нужно писать код. Только идею. |
| Автор: tzirechnoy 22.11.2013, 22:46 |
| Взять плоскогубцы, и провести испытание давшэму задачу. Чтобы объяснил, например, каким образом "очередное" слово (вероятно, из введённого текста) будет совпадать своей последней буквой с первой буквой следующего -- если слова вместе со своей последовательностью у нас ужэ заданы. Ну, и другие мелочи, которые будут зависеть от ответа на первый вопрос. PS << Когда же пытуемый впадает в беспамятство, испытание, не увлекаясь, прекратить…>> |
| Автор: bsa 23.11.2013, 19:56 |
| Sammi2186, задание не полное. В нем не указано, по какому принципу делать списки. Если убрать требование о формировании нескольких списков, то программа очень просто делается: 1. Вводишь строку 2. Заводишь два указателя - один указывает на текущий символ, второй на "свободное место". Им обоим присваиваешь адрес первого символа строки. 3. Берешь символ по первому указателю, если он '\0', то конец; иначе проверяшь с помощью isalpha() и в случае, если это буква, записываешь по адресу второго указателя и инкриментируешь его. В противном случае добавляешь значение второго указателя в список... |
| Автор: feodorv 24.11.2013, 03:26 |
Почему?
|
| Автор: baldina 24.11.2013, 15:34 |
| составляем граф связей слов. теперь надо найти все непересекающиеся пути так, что бы они покрывали все вершины и число путей было минимальным. число путей не может быть меньше числа несвязных компонент. походу это NP-полная задача. |