Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2014, 21:43   #1
tszavyalova
Новичок
Джуниор
 
Регистрация: 20.01.2014
Сообщений: 8
По умолчанию Площадь пересечения полос (Pascal)

Пожалуйста, помогите с программой на Pascal! Заранее благодарна!
Нужно для зачета.

Даны N вертикальных и K горизонтальных полос. Каждая полоса может быть частично или полностью перекрыта другими полосами. Найти значение площади пересечения этих полос.
Входные данные:
В первой строке 2 числа целых числа - количество вертикальных и горизонтальных полос.
В следующих строках по 2 числа координаты начала и конца каждой полосы.
Выходные данные:
Одна строка – число (периметр) или слово «бесконечно».

Последний раз редактировалось tszavyalova; 20.01.2014 в 21:52.
tszavyalova вне форума Ответить с цитированием
Старый 20.01.2014, 22:10   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так что в результате нужно найти: площадь или периметр?
и ещё, как задаются координаты полос, сначала заданы координаты всех вертикальных полос, потом координаты всех горизонтальных?
Координты могут быть дробными?
и, насколько я понимаю, слово "бесконечно" будет только в том случае, когда число горизонтальных или число вертикальных полос равно нулю (т.е. их нет). В противном случае пересечение всегда будет иметь конкретное значение...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.01.2014, 22:20   #3
tszavyalova
Новичок
Джуниор
 
Регистрация: 20.01.2014
Сообщений: 8
По умолчанию

Вывести нужно периметр, а в программе площадь тоже прописать. Задаются сначала координаты вертикальных, а потом горизонтальных полос. Координаты не дробные! На счет "бесконечно" Вы правильно поняли! Спасибо!!!

Это задача из вычислительной геометрии

Можно использовать метод сканирующей прямой



_________________
Не используйте форум как чат - не пишите несколько коротких сообщений подряд!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.01.2014 в 09:12.
tszavyalova вне форума Ответить с цитированием
Старый 21.01.2014, 10:50   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
а в программе площадь тоже прописать
раскажите мне, пожалуйста, как найти площадь, если неизвестна ширина этих ваших полос?
и зачем здесь ваш
Цитата:
метод сканирующей прямой,
если достаточно проверки на пересечение(совпадение)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 21.01.2014, 11:56   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
раскажите мне, пожалуйста, как найти площадь, если неизвестна ширина этих ваших полос?
погодите.. что значит - "неизвестна"
ширина полосы находится вычитанием координат друг из друга
(для каждой полосы задана пара координат - координата начала полосы и координата окончания полосы).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2014, 12:46   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
2 числа координаты начала и конца каждой полосы.
1 начало
5 конец

длина 4 единицы, а ширина?



пример) полосы? - полосы. вертикальные, горизонтальные? - вертикальные, горизонтальные
Координаты какого начала и какого конца заданы то?
То что они одинаковы по толщине(буду использовать это так как ,"ширина" не совсем корректно) в условии не дано

либо чисел должно быть 4 - правый верхний угол(x1,y1) и левый нижний(x2,y2,), либо 3 - начало,конец, ширина(x1,x2,y)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 21.01.2014 в 12:59.
Mad_Cat вне форума Ответить с цитированием
Старый 21.01.2014, 13:05   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот, например, набросок

задано:
3 2
1 5
6 8
7 10
2 5
3 8

(три вертикальные полосы (от 1 до 5, от 6 до 8, от 7 до 10),
и две горизонтальные полосы (от 2 до 5 и от 3 до 8)).
Изображения
Тип файла: jpg Полосы.jpg (113.9 Кб, 124 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2014, 13:08   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в вашем примере кроме полос есть ещё и прямоугольники.
(подумал, а вдруг возникло взаимонепонимание, основанное на недопонимании понятия "полоса".
я имею в виду, что
полоса это:
ПОЛОСА́, множество точек плоскости, лежащих между двумя параллельными прямыми этой полосы.
тырц


Теперь по поводу ожидаемого ответа.
Одно из двух - либо нужно найти область пересечения ВСЕХ полос (т.е. место, где все полосы пересеклись одновременно), либо сумму площадей пересечений горизонтальных и вертикальных полос.

p.s. не забывайте, что полосы могу частично или полность накладываться друг на друга!

Последний раз редактировалось Serge_Bliznykov; 21.01.2014 в 13:13.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2014, 13:15   #9
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

upd все понял, ушел вспоминать геометрию(
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 21.01.2014 в 13:17.
Mad_Cat вне форума Ответить с цитированием
Старый 21.01.2014, 13:24   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

tszavyalova, я правильно понял Вашу задачу?
Вы можете на моей схеме выделить то пересечение, которое Вы ищите и написать число, которое программа должна выдать в данном случае!



Mad_Cat, бывает.. хорошо, что мы с вами разобрались!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Площадь пересечения двух прямоугольников makskovalko Помощь студентам 2 15.04.2013 16:09
площадь треугольника в pascal ank1ne Паскаль, Turbo Pascal, PascalABC.NET 3 20.09.2011 12:10
площадь фигуры ограниченной эллипсом Pascal lirikoff Помощь студентам 0 20.05.2011 21:24
Площадь пересечения двух фигур Marsel737 Общие вопросы Delphi 4 04.09.2010 20:38
Pascal. Площадь пересечения кругов TOSAgrk Помощь студентам 1 05.02.2009 04:23