![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
CormiX |
![]()
Сообщение
#1
|
|||
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем доброго времени суток. На практической я имел возможность ознакомиться вот с такой задачкой:
Задано N точек на плоскости. Вычислить (N-1) не замкнутую ломаную кривую, которая проходит через все эти точки и не пересекает себя. Соседние отрезки ломаной могуть лежать на одной прямой. Буду очень признателен, если поможете решыть задачку. И если вас не затруднит то напишыте кодом Turbo Pascal. Зарание спасибо!
|
|||
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Упорядочи их по возрастанию одной какой-то координаты (например, X) и соединяй в этом порядке. Если встретятся несколько подряд с одинаковым X, то внутри этой группы упорядочивай по Y.
И если вас не затруднит то напишыте кодом Turbo Pascal. угу, и положЫте на блюдечко с голубой каемочкой..Когда покажешь свои успехи в этой области - тогда поможем. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
andriano |
![]()
Сообщение
#3
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Пока читал первый пост, естественно, пришел в голову алгоритм решения.
Прочитав второй, понял, что мое решение является частным случаем описанного в нем, только для полярной системы координат. PS. Кстати, этот вариант подходит и для замкнутых ломаных. Сообщение отредактировано: andriano - 27.12.2009 10:36 |
CormiX |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня практическая по массивам, и там была эта задачка....вот почему я хочу решить е с помощью массива.
Сообщение отредактировано: CormiX - 27.12.2009 11:23 |
andriano |
![]()
Сообщение
#5
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Да, массив - наиболее подходящая структура данных для этой задачи.
|
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
У меня практическая по массивам, и там была эта задачка....вот почему я хочу решить е с помощью массива. Разумеется, с помощью массива. Но 99% задач решаются с помощью массивов (я говорю про учебные, производственные все 100%). Это все равно, что на форуме о русском языке назвать тему "слова". Старайся выразить в названии ТО, что тебе надо сделать. В подзаголовке уместно сказать, что желательно использовать. Если хочешь, добавь сейчас в подзаголовок этой темы (который у тебя был пустым, и я его пустым поэтому оставил) слово "массивы".Ты пройдись по форуму, найдешь ТЫСЯЧИ тем, названых "Массивы". По-твоему это помогает поиску?.. А для чего еще заголовок, если не для этого? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
CormiX |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
только вот не знаю что дальше) Сообщение отредактировано: CormiX - 27.12.2009 12:21 |
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
только вот не знаю что дальше) Уже хорошо! Теперь ответь: как ты хочешь получать сам набор координат точек: вводом с клавиатуры или случайным образом (то есть без ввода)? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
CormiX |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нужно чтоб я сам вводил числа.
или как? Сообщение отредактировано: CormiX - 27.12.2009 12:41 |
andriano |
![]()
Сообщение
#10
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
i у тебя целая переменная, используемая в качестве переменной цикла. Во-первых, ты хочешь вводить вещественные значеия в массив, а во-вторых, значение i у тебя затирается (уничтожается) при организации цикла. Так что ты хочешь сделать?
Еще раз советую: сначал опиши алгоритм по-русски, и только потом пыайся перевести его на Паскаль. |
CormiX |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
Запутался я чето)
Ну следуйщий шаг надо записать числа массива так? for i:=1 to n-1 do |
andriano |
![]()
Сообщение
#12
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
В принципе верно, только почему у тебя цикл проходит n-1 раз вместо n?
Обычно либо массив нумеруют с 0 и тогде последний элемент имеет индекс n-1, либо с 1 и тогда индекс последнего элемента n. |
CormiX |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
А у меня в задании ломаная N-1, ето не то?)
|
andriano |
![]()
Сообщение
#14
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Если речь идет о НЕЗАМКНУТОЙ ломаной, то между n точками у тебя получится n-1 звеньев ломаной.
Но вводишь то ты точки. И, кстати, у точек на плоскости две координаты, а не одна. |
CormiX |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я продвинулся до этого:
Так? Ктонить отзовитесь!) Сообщение отредактировано: CormiX - 27.12.2009 16:06 |
andriano |
![]()
Сообщение
#16
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
А теперь объясни, для чего нужна каждая строчка.
|
CormiX |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
вроде все) |
Lapp |
![]()
Сообщение
#18
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Так? Ктонить отзовитесь!) Не так.. Ответь на вопрос andriano, плз. Или хотя бы объясни, зачем ты вводишь значения для переменных i и j. Что ты хотел этим сказать? Они же затираются потом, как переменные циклов.. И зачем тебе два цикла? Вводи одно число (число точек), а потом в цикле вводи для каждой точки в цикле координаты x и y. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
CormiX |
![]()
Сообщение
#19
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я думал i,j это обозначение точки массива, но он линейный а не матрица = / туплю блин.
|
Lapp |
![]()
Сообщение
#20
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Попробуй разобраться.
const (исправил) Сообщение отредактировано: Lapp - 27.12.2009 17:05 -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 15:07 |