|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.09.2011, 09:24 | #11 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
число точек (целочисленных) в круге зависит только от радиуса но не от положения. переносим круг в центр координат.(или начало координат в центр круга) и спокойно считаем.
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.09.2011 в 09:30. |
27.09.2011, 10:13 | #12 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
evg_m, Вы неправы.
напоминаю условия задачи: Цитата:
как вариант, предложенный JUDAS вообще относится к решению данной задачи - я вообще не понимаю... При чём здесь углы? я уже не говорю про round() - это же найдёт целые точки близкие к окружности, но отнюдь не факт, что лежащие внутри (если снаружи и близко, то тоже посчитается). А внутренние точки как определять? ну и последнее. JuniorProger (пост #6) и puporev (пост #7) предложили, имхо, нормальный вариант с перебором по одной оси (количество точек по другой оси будет вычислять по формуле n:=n+(right_border-left_border+1); Возможно, этот вариант потребует небольших доработок. Но мне кажется это нормальное, правильное и быстрое решение задачи. |
|
27.09.2011, 11:13 | #13 | |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Цитата:
Влияния знака можно избежать, если сдвинуть систему координат на целое число так, чтобы круг находился полностью в положительной области (по x и y). Тогда решение JuniorProger с поправками puporev годится. Либо можно учитывать знак явно при вычислениях границ.
Предпочитаю на "ты".
|
|
27.09.2011, 14:55 | #14 | |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
спасибо Stilet !
кстате у меня там ошибка цикл дол 360 ноль пропустил. Цитата:
Как относится - просто я указал как найти все точки на круге !
95% сбоев и ошибок приложений, находится в полу метрах от монитора
|
|
27.09.2011, 15:10 | #15 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Какой бы вариант перебора не был принят, все равно при R=1000000 это либо будет работать очень долго, либо вообще не будет. Вероятно есть способ решения, связанный с какими-то математическими закономерностями.
|
27.09.2011, 15:18 | #16 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Код:
т. е. будет что-то вроде Код:
ну и еще добавить по 1 Код:
P.S. то же в пост #3. с мелкими несущественными нюансами.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.09.2011 в 15:46. |
|
27.09.2011, 15:29 | #17 | |||
Форумчанин
Регистрация: 16.09.2011
Сообщений: 114
|
Цитата:
Цитата:
Цитата:
По-моему, это, мягко говоря, ерунда! Последний раз редактировалось JuniorProger; 27.09.2011 в 15:32. |
|||
27.09.2011, 15:35 | #18 | |
Форумчанин
Регистрация: 16.09.2011
Сообщений: 114
|
Цитата:
|
|
27.09.2011, 15:40 | #19 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
27.09.2011, 15:47 | #20 | |
Форумчанин
Регистрация: 16.09.2011
Сообщений: 114
|
Цитата:
И еще хотел добавить, что я учел, что границы могут быть либо: 1. обе положительные; 2. одна положительная другая отрицательная; 3. обе отрицательные. Нужно всего лишь повнимательнее посмотреть на решение и подумать над ним Поправки не нужны |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
треугольник и круг | zhenya.ya | Общие вопросы C/C++ | 0 | 16.05.2011 02:32 |
Многоугольник и круг | Никита_96 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 09.02.2011 21:10 |
Круг на ассемблере | Hesheit | Помощь студентам | 6 | 13.05.2009 22:48 |
Паскаль Круг ! | BuTeK1 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 08.01.2009 14:27 |
точки плоскости, заданные своими координатами, попадают в круг с радиусом R | Jondeer | Общие вопросы C/C++ | 6 | 16.06.2008 00:06 |