IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Эйлеров путь, нахождение пути
setare
сообщение 1.12.2005 18:27
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Здравствуйте! У меня возникла проблемма в задаче нахождения Эйлерова пути между словами. Задача состоит в следующем: есть N слов из букв латинского альфавита. Сложить из них цепочку и найти эйлеров путь, при чем конец последующего слова должен совпадать с началом предыдущего.
Кое-что я написала, но не пойму почему мне постоянно компилятор дает ошибку-переполнение стэка, когда у меня нет рекурсии. Что делать? Спасибо! Файл я вложу, потому что он состоит из 200 строчек, и я не думаю, что можно просто его написать на экране.


Прикрепленные файлы
Прикрепленный файл  SLOVAEIL.PAS ( 4.46 килобайт ) Кол-во скачиваний: 200


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.12.2005 18:50
Сообщение #2


Гость






Цитата
не пойму почему мне постоянно компилятор дает ошибку-переполнение стэка, когда у меня нет рекурсии.

У тебя в процедуре findeiler (при входе в нее происходит Stack Overflow, правда?) описаны ЛОКАЛЬНЫЕ переменные (они хранятся в стеке) общим размером:
var
ms:tmv; { 104 байта }
r:tmassiv; { 18928 байт }
mp:tme; { 18 байт }
i,j,v,vs,v2:integer; { 10 байт }
ve,nv2:integer; { 4 байта }

итого - 19064 байта... Размер стека по умолчанию = 16К, вот и переполнение...

Пути решения проблемы:
1) увеличить размер стека (директива {$M StackSize HeapMin HeapMax}) по крайней мере до 32К
2) перенести описание переменной R в глрбальную область видимости, тогда она будет располагаться в DataSegment-е и место в стеке занимать не будет (но может появиться новая проблема - общий размер всех глобальных переменных может превысить 64К, а это уже хуже...)
3) использовать динамическую память (она же - "куча")...
 К началу страницы 
+ Ответить 
setare
сообщение 1.12.2005 18:58
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Извините, а как мы писали директиву? Что-то я подзабыла! Мы писали $M а потом 64000 или нет? А вообще эта программа будет работать, если устранить эту проблему? Просто в голову больше ничего не идет, все что было написала и уже не знаю, а если не будет работать что делать?

Сообщение отредактировано: setare - 1.12.2005 19:00


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.12.2005 19:05
Сообщение #4


Гость






Цитата
А вообще эта программа будет работать, если устранить эту проблему?
Вот этого я не знаю... Нужно просто хорошо подобрать тесты, чтобы результаты говорили сами за себя... Если у тебя есть такие тесты уже готовые - выложи их тоже, будем тестировать...

А директиву - хотя бы вот так:
{$M 32768, 0, 0}
Тогда программа уже НЕ вылетает с переполнением стека...
 К началу страницы 
+ Ответить 
setare
сообщение 1.12.2005 19:08
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Большое спасибо! Просто понимаете, я не очень понимаю, что вы имеете в виду под тестами. Я просто ввожу слова, потом задаю номера двух слов, чтобы программа рассчитывала путь и все. А тестов нет. Я чуть поправила программу, еще раз вложу.


Прикрепленные файлы
Прикрепленный файл  SLOVAEIL.PAS ( 4.63 килобайт ) Кол-во скачиваний: 186


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
virt
сообщение 1.12.2005 19:43
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


под тестами volvo имеет в виду те самые наборы данных которые ты вводишь ,и правильные ответы к ним.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 1.12.2005 19:52
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Честно говоря я в маленьком затруднении! Я ввела слова mec,cab,bec. Она мне выдала эти же слова по-порядку как они сейчас написаны. По-моему тут что-то не так. Если я сама правильно расчитала.


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 2.12.2005 16:18
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Извините!Просто я хотела уточнить, вы не будете больше тестировать мою программу? Потому что как-то моя просьба и тема вообще ушла на 20 план, а я ждала вашего ответа очень долго! unsure.gif


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 8.12.2005 17:57
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Здравсвуйте! Извините меня за упрямость, но я по техничесим причинам не могу отстать от вас. У меня сомнения, что моя программа работает правильно, но вот уже несколько дней я думаю что поменать а что добавить и ничего не получается. Можете ле вы еще раз взглянуть на мою программу? Пожалуйста!!!


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
virt
сообщение 8.12.2005 18:37
Сообщение #10


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


Уточни задачу :
есть набор слов ,надо выстроить слова в таком порядке ,что бы он включал в себя все слова и последняя буква слова была первой буквой следующего слова.
Или некоторые слова можно не использовать?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 8.12.2005 18:55
Сообщение #11


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Мы вводим с клавиатуры слова. Программа просто должно выстроить эти слова в цепочку, причем последняя буква первого слова должна совпадатьс с первой буквой последующего. Я обязательно должна использовать процедуры, которые написаны там. Так как их дал нам препод. Не код, а название и только код процедуры findeiler. Если вы мне поможете я буду вам очень благодарна. Все сова надо использовать.

Сообщение отредактировано: setare - 8.12.2005 18:55


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 8.12.2005 19:50
Сообщение #12


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Ну вот!!! Людииии!!!Помогите!!!Не бросайте на произвол судьбы!!


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
virt
сообщение 8.12.2005 21:25
Сообщение #13


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


Цитата
Я обязательно должна использовать процедуры, которые написаны там.
Тебе надо переделать прогу которую дал препод или свою написать?
Код
Не код, а название и только код процедуры findeiler.
Это как??

Пожалуйста отвечай на вопросы которые спрашивают ,и только на них.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 8.12.2005 22:42
Сообщение #14


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Отвечаю: Мне нужно с использованием кода процедуры findeiler (который нам выдал препод) написать программу. То что я как-то сделала. После тестирования она мне выдает неправильный результат. И мой конкретный вопрос: Почему? Мне хочется узнать где я ошиблась. Вот и все.Спасибо!


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 9.12.2005 17:54
Сообщение #15


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


Уважаемые программисты! Не могли бы вы обратить внимание на мою программу еще раз, а не игнорировать ее. Сколько можно! Мне очень важен ваш ответ, а вы даже не откликаетесь на мои просьбы.


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.12.2005 18:28
Сообщение #16


Гость






setare, понимаешь в чем дело... Твой преподаватель поступил очень "мудро", разрешив тебе пользоваться для достижения цели любыми средствами, но только с
Цитата
использованием кода процедуры findeiler
... Без этого ограничения задача решается гораздо проще, и я уверен, тебе бы давно уже помогли ее решить... Но притягивать за уши какую-то непонятно кем "наваянную" процедуру ... no1.gif
 К началу страницы 
+ Ответить 
setare
сообщение 9.12.2005 18:35
Сообщение #17


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


И что же мне теперь делать?Я же не выновата, что он дал нам такую процедуру. unsure.gif cray.gif


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
virt
сообщение 9.12.2005 18:48
Сообщение #18


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


а он какое нить описание давал ,или что то что поможетразобраться?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
setare
сообщение 9.12.2005 18:54
Сообщение #19


Бывалый
***

Группа: Пользователи
Сообщений: 152
Пол: Женский

Репутация: -  0  +


извините, а что именно? написать что означают входящие в процедуру процедуры и функции?или все,все переменные?


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 2:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"