![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
HuKTO |
![]()
Сообщение
#1
|
Гость ![]() |
Цитата Подсчитать число точек, находящихся внутри круга, радиусом R с центром в начале координат, координаты заданы массивами x(100), y(100). Никак не врублюсь в паскаль. Вроде задача не трудная, а как сделать - хз. Сам алгоритм вроде просматривается, но формулу по которой будут точки считаться внутри круга где брать... без понятия. Вообщем помогите пжл с этой нелегкой(для меня) задачей. Можно с коментариями неболишими..может чего-нибудь да пойму. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Вот функция, проверяющая лежит ли i-я точка внутри круга:
Код Function isInside(i: integer): boolean; begin isInside := (sqr(x[i]) + sqr(y[i])) < sqr(R) end; В цикле для каждой точки вызываешь эту ф-ю и если ее значение = True то увеличиваешь счетчик... Где именно проблема? |
HuKTO |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(volvo @ 11.04.05 12:29) Вот функция, проверяющая лежит ли i-я точка внутри круга: Код Function isInside(i: integer): boolean; begin isInside := (sqr(x[i]) + sqr(y[i])) < sqr(R) end; В цикле для каждой точки вызываешь эту ф-ю и если ее значение = True то увеличиваешь счетчик... Где именно проблема? Да сам не знаю где проблема...наверное в моей голове. Ну вообщем если делать след: Код uses crt; function isInside(i:integer):boolean; var r,x,y,kol:integer; begin kol:=0; writeln('Radius: ');readln(r); isInside:=(sqr(x)*sqr(y))<sqr(R); for i:=1 to 100 do if isInside(i)=true then inc(kol) end; var a1:integer; begin writeln(isInside(r,x,y,kol); end. То он выдает ошибку на параметрах isInside, т.к. я их якобы не задавал вообще. Вначале по-идее также должно быть Код Type mass=array[1..100] of integer; var x,y: mass; Но в таком случае он выдает ошибку, где написано что-то вроде "вам нужно описать х и y через integer либо через real". Пробывал и так и сяк - 0 результата. |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 20:36 |