![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
HuKTO |
![]()
Сообщение
#1
|
Гость ![]() |
Цитата Подсчитать число точек, находящихся внутри круга, радиусом R с центром в начале координат, координаты заданы массивами x(100), y(100). Никак не врублюсь в паскаль. Вроде задача не трудная, а как сделать - хз. Сам алгоритм вроде просматривается, но формулу по которой будут точки считаться внутри круга где брать... без понятия. Вообщем помогите пжл с этой нелегкой(для меня) задачей. Можно с коментариями неболишими..может чего-нибудь да пойму. |
![]() ![]() |
HuKTO |
![]()
Сообщение
#2
|
Гость ![]() |
2Volvo: Смотри, у тебя в задачи I обозначена получается тоже локально? Но если её описать заранее как интежер, то задача запускается, но точек в круге при любом раскладе - 100
И в 2-е - на счет ввода координат - это ты имеешь ввиду как у Atos'a Код for i:=1 to n do ? Но у меня же по-идее координаты массивами заданы, зачем их вводить.begin write(i,' tochka: x= '); read(x[i]); write(' y= '); readln(y[i]); end; |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(HuKTO @ 12.04.05 10:49) Смотри, у тебя в задачи I обозначена получается тоже локально? Но если её описать заранее как интежер, то задача запускается, но точек в круге при любом раскладе - 100 Так в том-то и дело, что если одна и та же переменная описана И глобально, И локально, то везде, где видимо локальное описание, будет использоваться локальная переменная, во всех остальных случаях - используется глобальная. У тебя же ГЛОБАЛЬНАЯ переменная описана просто не была, а то, что ты описал переменную внутри процедуры, так она же просто не существует до тех пор, пока ты в эту процедуру не войдешь, и обращаться к ней извне просто нельзя... Кстати, у меня I не описывается локально, а передается как параметр, а это разные вещи... Цитата(HuKTO @ 12.04.05 10:49) у меня же по-идее координаты массивами заданы, зачем их вводить. Не путай, они у тебя не заданы, а описаны. То есть под них выделено место. А значения им кто будет присваивать? Тка что все-таки придется поставить этот цикл (который ты видел у Atos-а) :yes: |
HuKTO |
![]()
Сообщение
#4
|
Гость ![]() |
2Volvo:
Наконец добрался до сюда. Спасибо за советы. Вот такая программа в итоге получается: Код uses crt; const n=100; Type arr=array[1..100] of integer; var i,r,kol:integer; x,y:arr; function isInside(i:integer):boolean; begin isInside:=(sqr(x[i])+sqr(y[i]))<sqr(R); end; begin clrscr; writeln('Chemy raven radius?'); readln(R); for i:=1 to n do begin x[i]:=i; y[i]:=i; end; kol:=0; for i:=1 to 100 do if isInside(i) then inc(kol); writeln('Kol. to4ek vnutri kruga=',kol); readln; end. Все вроде работает. Но с процедурами(я создавал тему, правда щас её на нашел..) я так и не разобрался. Если не трудно напиши код. Я сам принцип понял кое-как но ничего не выходит все-равно(программа: даны натур. числа k и n. составить програм. формирования массива А, элементами которого являются числа, сумма цифр которых равна k и к-ые не больше N). Идет по идее рандом чисел, и каждое число проходит проверку: равна ли сумма его цифр K и не больше ли они N. Если и то и то верно то добавляем число в массив и переходим к след. числу, если же нет пропускаем и все-равно переходим. |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата(HuKTO @ 18.04.05 13:04) я создавал тему, правда щас её на нашел А вот если бы зарегистрировался, тебе был бы доступен просмотр всех своих сообщений... Цитата(HuKTO @ 18.04.05 13:04) Если не трудно напиши код. Нетрудно, но код полностью я писАть не буду. Кстати, это уже не относится к первому заданному вопросу, поэтому ищи созданную тобой тему и продолжай обсуждение там.P.S. И, на будущее, давай более осмысленные названия темам, "Задача на функцию (или процедуру)" - таких сотни, и не разберешь, где что... |
unFair |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(volvo @ 18.04.05 14:30) А вот если бы зарегистрировался, тебе был бы доступен просмотр всех своих сообщений... Все учел, зарегился. Можно продолжить обсуждение в соседней теме ;) |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 20:33 |