Прога некорректно работает - переписать согласно пиведёному ниже алгоритму. с#
Суть: щёлкаем мышкой по экрану - рисуется окружность. Ситуация: две окружности пересекаются, есть общая хорда. Её длина вычисляется и заносится в переменную. Далее щелкаем еще окружность. Если она пересекается с какой-о ещё, вновь счиатем хорду и берем в переменную максимальное значение для хорды.
Крч. Вот алгоритм, как это должно работать:
1. юзер щёлкает окружность, она заносится в массив фигур (там есть такой в проге во вложении)
2. проходимся в двойном цикле for (for (...) {for () }) по массиву всех окружностей, рассматриваем каждую возможную пару, то есть. И вычисляем так наибольшую хорду. Её значение заносим в переменную, за это ответственную.
3. на выходе итерации имеем максимальное значение хорды. Его пишем на экран.

Повторяем этот цикл до ... Да пусть до закрытия окна, ибо значение пишет на экран.
Что не работает сейчас: не реализован цикл выше, а именно каждая следующая окр рассматривается только в паре с предыдущей.
По проге не подскажу - я в ней полный ноль

адинаа1 адинаа1    3   23.04.2020 13:51    0

Ответы
Karinarpro Karinarpro  24.08.2020 06:45

Работающая версия программы представлена в приложении. Если потребуется, переделаете под свой стиль. Обратите внимание на метод DrawEllipse, он имеет некоторые особенности (чтобы корректно определить координаты эллипса и вывести его на экран, необходимо в параметры метода вносить корректировки (вычитать из параметров x и y соответствующие радиусы)).

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика