IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Найти непересекающиеся окружности
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Женский
Реальное имя: Марина

Репутация: -  0  +


Я вообще не понимаю в програмировании.Никогда не было информатики а тут надо одну задачу решить и зачет.Рещите пожалуйста кто умеет .Нужно в турбо паскале.Буду оч благодарна(шоколадку обеспечу))


Окружность на плоскости задана координатами X,Y,R-радиус(все значения формируются случайным образом).Из 20-ти окружностей показать те,которые не пересекают другие.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> j:= 1;
> while (j<=n) and ((i=j) or (Sqrt(Sqr(c[j].x-x)+Sqr(c[j].y-y))>c[j].r+r)) do inc(j);

Мне этот код почему-то напомнил вот это: http://govnokod.ru/4883
Там человек задался целью написать всю логику программы в одном булевом выражении в заголовке while.
Я надеюсь, ты это написал не всерьёз, а чтобы оставить человеку "на дом" задачу переделать это в нормальный вид.


Ну и чисто от себя добавлю, что в данной задаче можно избавиться от квадрата (перебор всех пар окружностей), если ввести сетку и хеширование.
Я уж не говорю о том, что вместо sqrt(a)>b выгоднее проверять a>sqr(b).

Сообщение отредактировано: TarasBer -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.05.2024 14:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name