|
3 / 3 / 1
Регистрация: 12.03.2010
Сообщений: 28
|
||
Обработка строки/Двусвязный список15.04.2010, 10:32. Показов 1369. Ответов 9
Метки нет (Все метки)
Я не совсем понимаю, что от меня хотят. Загнать каждое слово в отдельный элемент списка? А смысл? Намного проще обрабатывать напрямую строку. Загонять по букве? Ещё глупее. Помогите, пожалуйста, понять принцип. Сам я никак. Добавлено через 1 час 17 минут И, да. Ежели что, я не прошу писать за меня программу. Я прошу объяснить мне только принцип её действия, буде таковой найдётся. Сам я это сделать не в силах.
0
|
||
| 15.04.2010, 10:32 | |
|
Ответы с готовыми решениями:
9
Двусвязный список
Добавление элемента в двусвязный список. |
|
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
|
|
| 15.04.2010, 10:57 | |
|
если "двусвязные списки" и нужно "перевернуть слово", то наверное каждый символ строки в отдельном элементе списка. смысла особого нет, просто работа с двусв списками.
может как-то так - идете по первому списку. запоминаете ссылку на начало очередного слова и ссылку на предыдущий элемент, считаете кол-во символов в слове. если текущий элемент = пробел, то слово закончилось. Надо внести его посимвольно во второй список. В зависимости от четной или нечетной длины слова двигаетесь от начала слова до конца (ссылка на начало слова запоминается заранее, на конец слова = указателю на предыдущий элемент списка) или наоборот от конца до начала (вот тут-то и пригодится то, что список двунаправленный) и заносите буквы слова во второй список. потом возвращаетесь к первому списку, запоминаете начало следующего слова, обнуляете размер следующего слова и идете дальше.
0
|
|
|
3 / 3 / 1
Регистрация: 12.03.2010
Сообщений: 28
|
|
| 15.04.2010, 12:09 [ТС] | |
|
Всё ясно. Спасибо большое за объяснение!
0
|
|
|
3 / 3 / 1
Регистрация: 12.03.2010
Сообщений: 28
|
||||||
| 11.05.2010, 11:33 [ТС] | ||||||
|
Спустя месяц всё та же проблема.
Итак, я написал процедуру:
Странное дело - при вводе просто строки процедура не работает совсем (выдаёт пустой список), а если в строке два слова, разделённых пробелами - вообще вылетает с heap overflow error. Halp!
0
|
||||||
|
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
|
|
| 11.05.2010, 17:13 | |
|
heap overflow error - переполнение области кучи, те где-то видно зацикливается.
а что на входе в эту процедуру? spis1 - указатель на 1 эл-т первого списка? в первом списке данные нормальные? как работает процедура add и зачем там 2 указателя ( spis1 и spis2) ведь добавляете в какой-то один список? if tmp^.next^.data=' ' then add(head,tail,' '); - вот эта команда к чему относится и что такое head и tail ?
0
|
|
|
3 / 3 / 1
Регистрация: 12.03.2010
Сообщений: 28
|
|
| 13.05.2010, 09:22 [ТС] | |
|
Значит так. spis1 - начало первого списка, spis2 - второго.
Данные нормальные, всё прекрасно выводится. Процедуру add я взял из этой темы, а начало и конец для того, чтобы добавлялось в том порядке, в котором элементы идут, а не задом наперёд. вообще в ту процедуру ещё входит создание списка, если его нет, поэтому надо указывать начало и конец. Не очень-то удобно, я это уберу. Head и tail - начало и конец уже заданного в начале программы второго списка. Т.е. head=spis2. Команда задана для добавления одного пробела, вне зависимости от того, сколько их было в исходной строке.
0
|
|
|
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
|
|
| 13.05.2010, 09:58 | |
|
приведите уж тогда целиком программу )
то, что начало списка2 в одной процедуре в 2 разных переменных - не есть хорошо по-моему. а список 2 в начале работы процедуры пустой? почему параметр spis2 передается в процедуру по значению, только как входной (без var)?
0
|
|
|
3 / 3 / 1
Регистрация: 12.03.2010
Сообщений: 28
|
||||||
| 13.05.2010, 17:52 [ТС] | ||||||
0
|
||||||
|
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
|
||||||
| 14.05.2010, 12:18 | ||||||
0
|
||||||
|
3 / 3 / 1
Регистрация: 12.03.2010
Сообщений: 28
|
|
| 15.05.2010, 07:41 [ТС] | |
|
О, спасибо большое! Я, к слову, переписал программу с нуля без кражи чьих-то процедур, но в ней всё равно что-то не то. Целый вечер над ней сидел - безрезультатно.
Ваш пост был весьма приятной неожиданностью
0
|
|
| 15.05.2010, 07:41 | |
|
Помогаю со студенческими работами здесь
10
Pascal. ДВУСВЯЗНЫЙ СПИСОК И СТЕК. Двусвязный список и его реализация Двусвязный список текстовых строк Задача на двусвязный список Создать циклический двусвязный список Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|