Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2011, 00:01   #1
pdef
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 10
По умолчанию Задача о круге на плоскости.

Помогите пожалуйста решить задачу.На "чистом" паскале.В консольном виде.

Напишите программу для подсчёта числа точек с целочисленными координатами,находящихся внутри и на границе круга с заданным радиусом r. Центр которого расположен в произвольной точке плоскости с координатами (x;y)

Описание входа:

На вход программе даются три вещественных числа 0<=r<=1000000,x и y.

Описание выхода:

Выведете количество искомых точек в этом круге.

Пример:

Вход:__________________ Выход:

1 0.5 0.5_______________4

Последний раз редактировалось pdef; 22.09.2011 в 00:26.
pdef вне форума Ответить с цитированием
Старый 22.09.2011, 00:31   #2
gamer-25
Пользователь
 
Регистрация: 21.09.2011
Сообщений: 25
По умолчанию

Код:
Program Krug;
var
  r,x,y: Integer;
  kol: Integer;   // Кол-во точек внутри круга
  x_curr, y_curr: Integer;
  l: Integer;     // Расстояние от центра круга до точки
Begin
  kol:= 0;
  x:= StrToInt(edt_x.Text);
  y:= StrToInt(edt_y.Text);
  r:= StrToInt(edt_r.Text);

  for y_curr:= y-r to y+r do
    for x_curr:= x-r to x+r do
    begin
      l:= Round(sqrt(sqr(abs(x-x_curr)) + sqr(abs((y-y_curr)))));
      if l <= r then
        kol:= kol + 1;
    end;
End.
gamer-25 вне форума Ответить с цитированием
Старый 22.09.2011, 00:36   #3
pdef
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 10
По умолчанию

Допишите пожалуйста условия.У вас нет входа и вывода,и к сожалению "edt_x" - неизвестно программе.
pdef вне форума Ответить с цитированием
Старый 22.09.2011, 00:47   #4
gamer-25
Пользователь
 
Регистрация: 21.09.2011
Сообщений: 25
По умолчанию

Код:
Program Krug;
var
  r,x,y: Integer;  // Радиус, Координаты центра окр.
  kol: Integer;    // Кол-во точек внутри круга
  x_curr, y_curr: Integer;
  l: Integer; 
Begin
   Write ('Введите координату x: ');
   Readln (x);
   Write ('Введите координату y: ');
   Readln (y);
   Write ('Введите радиус окружности: ');
   Readln (r);

  kol:= 0;

  for y_curr:= y-r to y+r do
    for x_curr:= x-r to x+r do
    begin
      l:= Round(sqrt(sqr(abs(x-x_curr)) + sqr(abs((y-y_curr)))));
      if l <= r then
        kol:= kol + 1;
    end;

  Write('Количество точек внутри круга ', kol);
end.

Последний раз редактировалось gamer-25; 22.09.2011 в 01:02.
gamer-25 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача о взаимном расположении прямых на плоскости Dimbaler Помощь студентам 5 17.02.2011 13:25
Заданы площади круга и квадрата. Определите, поместятся ли квадрат в круге. Ufa Помощь студентам 2 21.04.2010 06:56
Задача про точки на плоскости Единорог Помощь студентам 3 16.12.2009 17:30
поворот на плоскости gluik Общие вопросы C/C++ 2 10.04.2009 09:26
Задача: заполнение плоскости объектами, максимально плотно rosi4 Помощь студентам 1 15.11.2008 13:42