Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
13 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 282

Найти общую длинну отрезков

09.01.2020, 18:45. Показов 2160. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ось на которой располагаются отрезки.
У них есть свои координаты
x1 x2 (начало конец)
0 5
15 35
25 40
и т.д.
Эти отрезки могут лежать друг на друге полностью либо частитчно
нужно составить алгоритм который бы позволил найти сумму длин этих отрезков без учета пересечений (то есть общие длины отрезков не учитывать)

Я написал алгоритм но работает не правильно помогите его сделать правильным
он суммирует все длины отрезков а потом удаляет пересечения
Проблема в том что если несколько отрезков пересекаются то из длины вычитается больше чем нужно

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 int n = in.nextInt();
        ArrayList<Pair<Integer, Integer>> pairs = new ArrayList<>();
        int length = 0;
 
        for (int i = 0; i < n; i++) {
            Pair<Integer, Integer> pair = new Pair(in.nextInt(), in.nextInt());
            pairs.add(pair);
        }
 
        for (int i = 0; i < n; i ++) {
            length += pairs.get(i).getValue() - pairs.get(i).getKey();
        }
 
        for (int i = 0; i < n - 1; i ++) {
            int x1 = pairs.get(i).getKey();
            int x2 = pairs.get(i).getValue();
            for (int j = i + 1; j < n; j++) {
                int y1 = pairs.get(j).getKey();
                int y2 = pairs.get(j).getValue();
 
                if (x1 == y1 && x2 == y2) length = length - (y1 - y2);
                else if (x1 < y1 && x2 > y2) length = length - (y2 - y1);
                else if (x1 > y1 && x2 < y2) length = length - (x2 - x1);
                else if (x1 < y1 && x2 < y2) length = length - (x2 - y1);
                else if (x1 > y1 && x2 > y2) length = length - (y2 - x1);
            }
        }
Добавлено через 1 минуту
n - число отрезков
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2020, 18:45
Ответы с готовыми решениями:

Вычислить общую длину отрезков
Даны координаты на прямой 0 5 15 35 25 30 т.к. отрезки могут пересекаться нужно почитать их общую длину мне нужно написать...

Определить общую проекцию этих отрезков на ось абсцисс
Здравствуйте,уважаемые программисты!Есть задачка : Дано координаты двух отрезков (начало и конец) .Определить общую проекцию этих...

Посчитать общую длину отрезков заданных координатами начала и конца
На координатной оси оХ заданны координаты начала и конца N отрезков. Координаты записаны в массив. Нужно посчитать общую длину отрезков....

1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
09.01.2020, 20:54
Java
1
2
3
4
ArrayList<Pair<Integer, Integer>> objects = new ArrayList<>();
        int min = objects.stream().min(Comparator.comparingInt(Pair::getKey)).get().getKey();
        int max = objects.stream().max(Comparator.comparingInt(Pair::getValue)).get().getValue();
        System.out.println(max - min);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2020, 20:54
Помогаю со студенческими работами здесь

Даны три отрезка координатами своих вершин. Определить общую длину этих отрезков
Даны три отрезка координатами своих вершин. Определить общую длину этих отрезков, используя пользовательскую функцию вычисления длины...

Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс
Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс. Даны 8 целых точек - координаты точек...

Ввести количество отрезков и их длины; найти, сколько треугольников можно составить из этих отрезков
надо написать такую программу: пользователь вводит количество отрезков и их длины, и надо найти сколько треугольников можно составить из...

На прямой своими концами заданы N отрезков. Найти точку принадлежащую максимальному числу отрезков
Помогите пожалуйста понять, что от меня хотят и какой(как) разработать алгоритм для решения этой задачи. На прямой своими концами...

Подпрограммы: найти общую сумму положительных и общую сумму отрицательных элементов трех массивов
Для массивов Q(15),D(8) и Z(3) найти общую сумму положительных элементов и общую сумму отрицательных элементов. Помогите,пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru