Требуется разработать компилятор для языка C, реализованный на C++. Основные функции: объявление переменных, массивов и функций, работа с операциями и структурами данных. Использование лексического анализатора LEX и таблично-управляемого синтаксического анализа LL(1).
Задание с программирования на java
Задание в университет. Задание должно быть сдеално так как написано в описании ниже, потому что преподователь видит только свои решения.Желательно комментарии к коду писать как можно чаще, практически на каждую строчку.
Данные находятся на плоскости N<: <="" p="">
- если 2 отрезка имеют общий конец, то они не пересекаются, т.е. отрезок, определяемый
- все 3 точки не лежат на одной прямой.
задача:
Напишите программу, которая покажет, сколько всего точек пересечения могут
создать отрезки.
Вход
На диске, в файле 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 года назад
- $500
Требуется профессиональный юзер Excel на постоянной основе для работы с Big Data. Задачи включают оцифровку данных и создание дешбордов. Аналитический склад ума и понимание бухгалтерии приветствуются. Пробный период 3 месяца.
Прикладное ПО11 заявокЗакрыт3 года назад Необходимо разработать информационно-справочную систему, которая обеспечит эффективную работу совета ветеранов института. Система должна включать функции для обработки данных и поддержки всех процессов, связанных с деятельностью совета.
Прикладное ПО1 заявкаЗакрыт3 года назадНеобходимо разработать приложение Список дел на языке C++. Ожидается, что программа будет предоставлена в виде исходного кода в прикрепленном файле. Укажите основные функции и структуру приложения.
Прикладное ПО1 исполнительЗавершен3 года назадТребуется разработать программу для авторегистрации на сайте Pringles. Программа должна обрабатывать ввод данных: почта, имя, фамилия и другие. Необходимо пройти рекапчу, получить код подтверждения на почту и ввести его. Также программа должна позволять указать код товара и пройти рекапчу повторно.
Прикладное ПО3 заявкиЗакрыт3 года назадСоздайте приложение на Java Server Faces для умножения матриц, где пользователи могут вводить матрицы А и В. Обеспечьте валидацию введенных данных для корректной работы приложения.
Прикладное ПОнет заявокЗакрыт3 года назадТребуется разработать приложение на JAVA TM IDL, реализующее два сервиса: первый - смешивает информацию из двух файлов и сохраняет в третий, второй - передает данные из третьего файла клиенту. На клиенте необходимо реализовать меню для взаимодействия с сервисами.
Прикладное ПО2 заявкиЗакрыт3 года назадТребуется откорректировать парсер на PHP и удалить версионность из базы данных MariaDB. Необходимо перенести последние версии данных в новую базу и протестировать на dev-сервере. Предлагайте стоимость и сроки выполнения, предусмотрена поэтапная оплата и приемка работы.
Прикладное ПО2 заявкиЗакрыт3 года назад