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

Данные находятся на плоскости 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 точками, могут пересекаться.

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

Заявки фрилансеров

Владислав
 
22 года
4 года в сервисе
Был
2 года назад
1 отзыв
3 года назад
Дмитрий
 
34 года
3 года в сервисе
Был
3 года назад
3 года назад
  • Похожие заказы

  • Требуется разработать компилятор для языка C, реализованный на C++. Основные функции: объявление переменных, массивов и функций, работа с операциями и структурами данных. Использование лексического анализатора LEX и таблично-управляемого синтаксического анализа LL(1).

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • $500

    Требуется профессиональный юзер Excel на постоянной основе для работы с Big Data. Задачи включают оцифровку данных и создание дешбордов. Аналитический склад ума и понимание бухгалтерии приветствуются. Пробный период 3 месяца.

    Закрыт
    3 года назад
  • Необходимо разработать информационно-справочную систему, которая обеспечит эффективную работу совета ветеранов института. Система должна включать функции для обработки данных и поддержки всех процессов, связанных с деятельностью совета.

    Закрыт
    3 года назад
  • Необходимо разработать приложение Список дел на языке C++. Ожидается, что программа будет предоставлена в виде исходного кода в прикрепленном файле. Укажите основные функции и структуру приложения.

    Прикладное ПО1 исполнитель
    Завершен
    3 года назад
  • Требуется разработать программу для авторегистрации на сайте Pringles. Программа должна обрабатывать ввод данных: почта, имя, фамилия и другие. Необходимо пройти рекапчу, получить код подтверждения на почту и ввести его. Также программа должна позволять указать код товара и пройти рекапчу повторно.

    Закрыт
    3 года назад
  • Создайте приложение на Java Server Faces для умножения матриц, где пользователи могут вводить матрицы А и В. Обеспечьте валидацию введенных данных для корректной работы приложения.

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Требуется разработать приложение на JAVA TM IDL, реализующее два сервиса: первый - смешивает информацию из двух файлов и сохраняет в третий, второй - передает данные из третьего файла клиенту. На клиенте необходимо реализовать меню для взаимодействия с сервисами.

    Закрыт
    3 года назад
  • Требуется откорректировать парсер на PHP и удалить версионность из базы данных MariaDB. Необходимо перенести последние версии данных в новую базу и протестировать на dev-сервере. Предлагайте стоимость и сроки выполнения, предусмотрена поэтапная оплата и приемка работы.

    Закрыт
    3 года назад