|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.04.2012, 20:53 | #1 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 23
|
Пересечение отрезков
Помогите пожалуйста решить эту СЛОЖНУЮ задачу
Даны N отрезков прямой. Найти длину общей части всех этих отрезков. Формат входных данных Вводится сначала число N (1<=N<=100). Далее воодится N пар чисел, задающих координаты левого и правого концов каждого отрезка. Все координаты - числа из диапазона от 0 до 30000. Левый конец отрезка всегда имеет координату строго меньшую, чем правый. Формат выходных данных Выведите длину общей части этих отрезов. Если у всех этих отрезков общей части нет, выведите 0. |
05.04.2012, 21:01 | #2 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
Helen236, небось в школе задали??? Отрезок, это гипотенуза прямоугольного треугольника, катеты даны, расчитай по теореме пифагора и сложи длины всех отрезков.
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
05.04.2012, 21:03 | #3 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 23
|
Дело в том, что задали в лингвистическом универе, а с математикой как-то не очень у меня!!!!
|
05.04.2012, 21:11 | #4 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
А в чем именно проблема? Создайте массив где будете хранить все координаты. Из координаты правого x вычте координату левого x, точно так же с y и получите величины двух катетов, далее квадрат одного катета плюс квадрат второго и осталось сложить все гипотенузы.
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
05.04.2012, 22:16 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,323
|
Если я правильно понял условие задачи, то:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
05.04.2012, 22:56 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Какие гипотенузы, какие катеты?!!?! Эк Вас торкнуло то!! На одной прямой заданы отрезки. нужно найти их общую часть (часть, которая принадлежит ВСЕМ отрезкам!) BDA, остроумное, эффективное и корректное решение! браво! |
|
06.04.2012, 10:20 | #7 | |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 105
|
Цитата:
Зачем автор решения присвоил l:=-1?в задании сказано же от 0. |
|
06.04.2012, 10:20 | #8 |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 105
|
Сложно всё это.
Последний раз редактировалось Paster Fob; 06.04.2012 в 10:25. |
06.04.2012, 12:01 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,323
|
Paster Fob, при поиске максимумов или минимумов положено инициализировать переменную крайним значением (при поиске минимума максимально возможным числом, при поиске максимума наоборот). Здесь указаны крайние значения 0 и 30000. Так как эти числа помещаются в диапазон integer, то можно взять на всякий случай с запасом. Затем просто ищем максимум среди левых границ и минимум среди правых границ. Можно присвоить l=0 и r=30000, но так l и r (при l=-1 r=30001) инициализируются считанными значениями в любом случае (дело вкуса). Главное - не взять границы меньше диапазона возможных значений.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
06.04.2012, 12:08 | #10 | |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 105
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Assembler: проверить пересечение двух отрезков | MaxYch | Помощь студентам | 0 | 05.10.2011 21:53 |
Координаты отрезков | MaxPeine | C++ Builder | 0 | 18.05.2011 22:48 |
C++ Пересечение отрезков | Liza Dalbek | Помощь студентам | 2 | 22.12.2010 23:20 |
Пересечение отрезков. Векторное произведение | phpcreator | Помощь студентам | 2 | 23.06.2010 21:58 |
Пересечение отрезков | Пaвeл | Помощь студентам | 1 | 30.04.2010 05:46 |