0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 8
|
|
Посчитать количество точек, что находятся в каждом из треугольников19.05.2014, 17:05. Показов 1203. Ответов 11
Метки нет Все метки)
(
Дана случайное множество точек и диагонали экрана. Посчитать количество точек, что находятся в каждом из треугольников, получившийся на пересечении диагоналей.
Прошу помочь, так как уже вообще не знаю что с ней делать(((
0
|
19.05.2014, 17:05 | |
Ответы с готовыми решениями:
11
|
20.05.2014, 08:47 | ||||||
Вот код, решающий вашу задачу
Диагонали образуют 4 треугольника Число точек распределяется так: k1 - верхний треугольник k2 - нижний, k3 - правый, k4 - левый, k5 - точка на диагонали (этот случай маловероятен, то есть k5=0) (программа проверена)
1
|
20.05.2014, 09:29 | |
Спасибо!
В программу, где условия надо только добавить коэффициент. Например, если ширина экрана вдвое больше высоты, то при X надо поставить множитель два (во всех 5-ти условиях) Ещё раз вам Спасибо. Я полагал, что такую мелочь знает каждый. (точнее, я даже не думал об этом) Спасибо!
0
|
20.05.2014, 14:43 | |
Вы ещё раз правы. Надо было просто взять размеры
экрана 640*480. Насчёт коэффициента тоже верно (при y!!). Основа программы та же. Спасибо вам ещё раз!
0
|
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 8
|
|
08.06.2014, 15:14 [ТС] | |
Можно попросить еще у вас объяснение как работает программа по шагам, а то мне немного не понятно, заранее спасибо.
Добавлено через 32 минуты И если можно программу с графическим режимом, надо бы что б она точки, которые посчитала, показывала, как прямоугольник сделать и диагонали я знаю, а вот точки оно почему то показывать не хочет. Если можно, объясните что означает эта строка FOR i = 1 TO n x(i) = 20 * RND - 10 y(i) = 20 * RND - 10
0
|
08.06.2014, 15:15 | ||||||
Я выделил из программы самую сложную часть. Итак
Предположив, что экран квадратный я сразу получил уравнения диагоналей: y=x и y=-x. Рассмотрим для примера самый правый треугольник. Чтобы точка лежала в этом треугольнике, она должна быть выше Главной диагонали (левый верхний угол - правый нижний угол) и ниже второй диагонали, тоесть должны выполняться неравенство x > |y| Аналогично составляются и остальные неравенства. В каждом из четырёх основных условий идёт свой подсчет точек, независимо от других. Ну а сама программа простая 1) объявляются массивы для координат точек 2) массивы заполняются случайными точками (инициализируются) 3) точки подсчитыватся 4) выдается результат
0
|
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 8
|
||||||
08.06.2014, 15:57 [ТС] | ||||||
Большое спасибо, понял.
Но мне нужно еще графически это показать, все получилось, только точки оно показывать не хочет!
И что значит вот это DEFSNG X-Y DEFINT I-K OPTION BASE 1 ???
0
|
08.06.2014, 17:16 | |
Я посмотрел вашу программу. Вот мой комментарий.
1) в программе две крупные ошибки (потому и точки не рисуются). Надо две строки писать так: x(i)=xmin+RND*(xmax-xmin) y(i)=ymin+RND*(ymax-ymin) 2) OPTION BASE 1 - означает, что в массивах минимальный номер равен 1. А по умолчанию отсчет идёт с нуля. Конечно массив можно определить иначе, например DIM x(1 TO N). 3) DEFSNG X-Y - означает, что все переменные начинающие на букву x или y имеют тип SINGLE. Конечно можно в данном случае использовать суффиксы и записать переменную x в виде "x!". Но это не всегда удобно. 4) DEFINT I-K - указывает на переменные типа INTEGER 5) И ещё (!!) Вы ввели в программе не симметричную систему координат. Ошибки нет. Есть две диагонали, для которых надо написать уравнения в вашей системе координат. Написать все можно, но зачем усложнять себе жизнь. Мой совет: выбирайте такую систему координат в которой линии описываются самыми простыми уравнениями Моя программа тому пример. Вот пожалуй и все. Удачи вам!
0
|
Кормпилятор
![]() |
|
08.06.2014, 18:06 | |
грубо распределять тип по диапазонам алфавита как вы делаете в КАЖДОЙ своей проге - это ппц как печально. Можно работать без венгерской нотации, но оно будет полезно только для вас, это если что-то крупнее 50 строк. Касательно постфиксов - это очень удобно как раз в мелких прогах, потому что не требуется переопределять тип переменной. А вот в больших прогах это уже становится не очень читабельным и лучше декларить самым обычным способом, т.к. меньше мусора и частое переопределение типа не проблема. Впрочем есть такая фишка редактора как change, можно и с постфиксом поменять тип если очень захотеть.
1
|
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 8
|
|
09.06.2014, 22:35 [ТС] | |
Большое спасибо, очень помогли.
Просто преподователь не примет без графического режима, нужно было показать))
0
|
09.06.2014, 22:35 | ||||||
Помогаю со студенческими работами здесь
12
Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек , лежащих внутри и вне m-угольника , минимально различа
Подсчитать количество равносторонних треугольников с вершинами в заданном множестве точек на плоскости Подсчитать количество равносторонних треугольников с вершинами в заданном множестве точек на плоскости Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть.
Дело в том, что я. . .
|
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
|
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
|
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
|
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
|
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
|
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
|
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
|
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
|
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
|