Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задание в университет. Задание должно быть сдеално так как написано в описании ниже, потому что преподователь видит только свои решения.Желательно комментарии к коду писать как можно чаще, практически на каждую строчку.

Данные находятся на плоскости N<: <="" p="">

  • если 2 отрезка имеют общий конец, то они не пересекаются, т.е. отрезок, определяемый
точки P и Q не пересекаются с отрезком, определяемым точками P и R;

  • все 3 точки не лежат на одной прямой.
Нас интересуют только пересечения, которые напоминают X

задача:

Напишите программу, которая покажет, сколько всего точек пересечения могут

создать отрезки.

Вход

На диске, в файле points.txt

в первой строке находится одно целое число, задающее количество точек N

следующая строка содержит два числа, разделенных пробелом, которые обозначают координаты точки.

Выход

Программа должна отображать на экране количество точек, в которых пересекаются отрезки.

Пример

Для файла points.txt:

4

3,5 0,8

-2,7 1,9

-1,1 6,2

4,2 4,9

правильный ответ 1.

Этапы решения.

Этап 1. Нужно прочитать данные с файла. Осталось только определить, в какой структуре будут храниться данные точки. Определите два массива X [] и Y [] размера n = 20 (ограничение следует из

первое предложение описания), в котором координаты i-го тега будут храниться в i-й ячейке

точки соответственно X и Y.

Файл points.txt следует расширить до N = 5 или N = 6 точек.

После прочтения точки следует вывести на экране, что позволит вам подтвердить

работу этой части программы.

Этап2. Поскольку нам предстоит рассматривать пересекающиеся сечения, давайте создадим их. Каждый отрезок 2 это разные точки. Сколько таких отрезков? Столько, сколько комбинаций двух элементов в множестве с N количеством элементов.

Должно быть Две петли (одна внутри другой) .

вывести все отрезки.

Этап 3. Мы, конечно, можем собрать все эпизоды в

какой-нибудь массив и затем повторим выборку из двух, но мы поступим проще

Две пересекающиеся прямые это 4 точки. Каждые два отрезка это 4 точки, а каждые 4 точки это 3 раза по 2 отрезка.

Для рассмотрения всех пересечений участков достаточно проанализировать

все множества по 4 балла. Снова есть комбинации, но на этот раз N после 4. Столько подмножеств

из 4 элементов в наборе N элементов.

Для перечисления всех таких подмножеств требуется вложение 4 циклов. Вывести подможества на экран.

Этап 4. Имея 4 точки, мы должны сказать, в скольки точках пересекаются все 3 пары

отрезковь, которые имеем. Итак, нам нужно написать функцию (или метод, если мы говорим о Java), которая найдет количество пересечений. Например:

int liczbaPrzeciec(int i, int j, int k, int l);

i, j, k, l — индексы точек, а возвращаемое значение — количество пересечений.

Теперь предположим, что функция всегда возвращает 1. Сколько имеется точек пересечения?

мы будем обозначать на следующем этапе.

Суммируя возвращенные значения, мы будем вычислять только количество 4-точечных систем.

Этап 5. Пересечения () должны возвращать именно это число. Пожалуйста

ответьте только на вопрос, какие значения возвращает функция liczbaPrzeciec(), т.е. в скольки точках

все пары отрезков, отмеченные 4 точками, могут пересекаться.

2 года назад
guest_16495083892406
2 года в сервисе
Был
2 года назад