0 / 0 / 0
Регистрация: 25.12.2016
Сообщений: 4
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Найти все треугольники, которые вписаны в окружность03.02.2019, 17:11. Показов 936. Ответов 3
Метки нет (Все метки)
Здравствуйте, необходимо написать программу, которая генерирует 100 случайных точек в двумерном пространстве, затем находит все возможные треугольники вписанные в заданную окружность.
Окружность задам как факт в программе, сделаю (наверное) перебор точек и с помощью счетчика узнаю сколько треугольников, но как сгенерировать точки понять не могу. Нашел как генерировать список случайных числе, но мне это не помогло. Кликните здесь для просмотра всего текста
Генерировать точки хотел так (да, без рекурсии, т.к. не могу её понять после C ) Но не понял как правильно делать интерфейс класса, как объявить точку и вообще не понятно :\ Думаю неправильное решение было делать это данным методом. main.cl
main.pro
0
|
03.02.2019, 17:11 | |
Ответы с готовыми решениями:
3
Найти все треугольники, которые могут иметь эти точки за вершины Найти все возможные треугольники, которые могут существовать. Результат вывести на экран. Найти все треугольники которые стороны не превышающие 30, и есть целые числа. Площадь тоже целое число Найти все окружности, в которые вложена самая маленькая окружность |
Фрилансер
3707 / 2079 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
||||||
03.02.2019, 17:42 | 2 | |||||
Странная задача. Если сгенерировать 100 случайных точек, то вероятность, что хотя бы одна из них попадёт на окружность, практически равна нулю. А тут надо целых три..
Вы так пишете, как будто в С нет рекурсии. А в Прологе без рекурсии, однако, не выжить.. Да не нужно для этой задачи делать для точки отдельный класс, достаточно домена.
0
|
0 / 0 / 0
Регистрация: 25.12.2016
Сообщений: 4
|
|
03.02.2019, 18:09 [ТС] | 3 |
Да нет, просто когда в университете учили С, С++, С#, нам объясняли. А здесь есть задание и просто не зная языка, например, я начинаю думать как сделал бы это на С++, потом понимаю что Prolog так не работает, а как работает..?
И все Запутался, решил обратиться к знающим людям. -- Можете немного рассказать как эта строка работает и как сделать "обход" для того чтобы "сгенерировать" N треугольников и отобрать, с помощью nth0(Index, List, Elem)?
0
|
Фрилансер
3707 / 2079 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
|
03.02.2019, 22:51 | 4 |
Если в чистом виде решать сформулированную задачу, то надо посчитать количество различных точек, лежащих на окружности, и пять от них число сочетаний по 3. Как я уже писал, если не подбирать числа как-то специально, скорее всего, таких треугольников будет 0.
Коллектор списков в старших версиях Visual Prolog - это синтаксический сахар для findall - находятся все варианты истинности предиката (группы предикатов) после || и собираются в список соответствующие значения выражения перед || В результате предикат делает то, что просили - собирает в список N случайных точек
0
|
03.02.2019, 22:51 | |
03.02.2019, 22:51 | |
Помогаю со студенческими работами здесь
4
Вывести изображение "5 соприкасающихся окружностей вписаны в большую окружность" Найти такие треугольники, которые лежат в одной четверти Вывести все клетки, которые покрывает заданная окружность Найти все прямоугольные треугольники Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |