![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
S!n |
![]()
Сообщение
#1
|
|||
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Задача звучит так: В системе двусторонних дорог за проезд каждой дороги взимается некоторая пошлина. Найти путь из города А в город В с минимальной величиной S+P, где S - сумма длин дорог пути, а Р - сумма пошлин проезжающих дорог.
В теории понимаю, как сделать, но на практике полный конфуз. Задачу нужно сделать с использованием трехмерного массива, записей и всё сохранять в файл с возможностью модернизации, причем трехмерный массив состоит из другого двумерного массива. В общем примерно так: Type Вот с этими переменными нужно произвести все действия. Но фишка в том, что я никогда не работал с трехмерным массивом, состоящим, к тому же из двумерного массива. Есть ещё исходник, из которого можно взять кой-чего: program min_road; Пожалуйста, помогите хоть в чем-нибудь, а то я уже начинаю чувствовать, как у меня медленно отмирают клетки мозга...
-------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
|||
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Что-то ты переусердствовал...
Зачем тебе это: Type- ? Сами по себе координаты элемента массива уже содержат информацию, которую ты собираешься хранить в нем. Какой смысл? Взать, например, элемент [2,3] и присвоить ему запись, в которой двойка и тройка?.. ![]() Похоже, что в твоем трехмерном массиве имеет смысл просто хранить эти самые записи. Но с ним тоже не вполне ясно. Как ты будешь эту инфу рассчитывать? И она неоднозначная.. Ты приведи сам алгоритм, которым ты собираешься пользоваться. Тот самый, теретический, который ты понимаешь. Это и есть больше половины задачи. А массивы - какая разница, скольки они мерные.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
S!n |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Хм... алгоритм... Алгоритм назвать не могу, так как впервые имею дело с графами.
Могу по пунктам расписать, что мне нужно сделать: 1) Создание файла в который будет заноситься информация о количестве дорог между городами, расстояние и пошлина за каждую дорогу. 2) Ввод данных 3) Сохранение данных в файл 4) Сравнение каждого из элементов файла и нахождение самого короткого пути с самой маленькой пошлиной. 5) Вывод на экран сообщения о найденном пути 6) Возможность изменения элементов файла, добавление новых дорог. Цитата Сами по себе координаты элемента массива уже содержат информацию, которую ты собираешься хранить в нем. Какой смысл? Взать, например, элемент [2,3] и присвоить ему запись, в которой двойка и тройка?.. blink.gif Видишь-ли, в чем дело. Последний элемент моего трехмерного массива: <Масив2>:array[<Город А>,<Город В>,<КОЛ-ВО ПУТЕЙ МЕЖДУ ГОРОДАМИ>] of <Массив1> Должен содержать инфу о длине дороги и стоимости. Я просто не знаю, каким образом мне это реализовать. -------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
2) Ввод данных Вот эти два слова - это и есть та самая теория, которую, как я теперь вижу, ты, несмотря на твои слова, не представляешь. Создание, запись файлов - это пара операторов, да и не нужно это.. А вот КАК ты будешь сканить возможные пути - это как раз важно. У тебя об этом ни слова..Советую тебе поискать по Форуму. Задачи подобного рода делались неоднократно. А лучше, если честно, возьми учебник по графам.. Будешь _действительно_ представлять себе теорию - программа приложится.. Видишь-ли, в чем дело. Последний элемент моего ... Я вижу в чем дело: на вопрос отвечать не считаешь нужным.Я просто не знаю, каким образом мне это реализовать. Ты не только не знаешь КАК реализовать. Ты также не знаешь, ЧТО - и это важнее.Читай теорию по графам. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
S!n |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Хорошо. Спасибо. Если возникнут вопросы, напишу ещё.
-------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
S!n |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Сегодня, не без помощи препода понял, что от меня нужно, но как вы и предполагали возникла проблема с сохранением данных в файл. Вопрос написан в комментариях. Вот код:
uses wincrt; Сообщение отредактировано: S!n - 3.12.2008 17:47 -------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
S!n |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Изменил свою прогу таким образом (Изменение в разделе type и var):
uses wincrt; Я не могу понять, как правильно занести инфу в файл. Если целиком массив не получится туда поместить, то тогда только по одному элементу массива? И ещё, туда ли я ставлю процедуру записи в файл? Сообщение отредактировано: S!n - 5.12.2008 7:41 -------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 14:29 |