Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Mixer
0 / 0 / 0
Регистрация: 07.01.2016
Сообщений: 9
1

Определить, в каком из кругов находится наибольшее число кругов из данного множества кругов

15.01.2016, 04:58. Просмотров 230. Ответов 1
Метки нет (Все метки)

Круг задается радиусом и координатами центра. Имеется n кругов (n20). Определить, в каком из кругов находится наибольшее число кругов из данного множества кругов.
Есть набросок, только плохо соображаю где накосячил, скорее всего в формуле.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const n=20;
var
i,j,k,c:integer;
mx:array [1..n] of integer;
my:array [1..n] of integer;
mr:array [1..n] of integer;
mc:array [1..n] of integer;
begin
  writeln ('Введите кол-во кругов');
  readln (k);
  for i:=1 to k do
    begin
      mc[i]:=-1;
      writeln('Введите x',i,',y',i,' и R',i);
      readln (mx[i],my[i],mr[i]);
    end;
  for i:=1 to k do begin
    for j:=1 to k do  
      if (sqrt(sqr(mx[j]-mx[i])+sqr(my[j]-my[i]))+sqr(mr[i]))>=sqr(mr[j]) then begin
        mc[i]:=mc[i]+1;
        end; writeln (mc[i]); end;
    c:=1;
  for i:=1 to k do      
    if mc[c]<mc[i] then
      c:=i;
writeln ('В круге ',mx[c],' ',my[c],' ',mr[c],' содержится ',mc[c],' кругов');
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2016, 04:58
Ответы с готовыми решениями:

Круг задается радиусом и координатами центра. Определить, найдется ли среди данных десяти кругов круг, лежащий внутри данного круга
Народ, помогите кто может. Не могу никак написать эту программу. Буду очень благодарен.

Определить взаимное расположение двух кругов
Даны координаты центров двух кругов (X1, Y1) и (X2, Y2), а также их радиусы R1 и R2 (R1&gt; R2)....

площади кругов
помогите написать программу плиз... Даны пять кругов с радиусами r1,r2,r3,r4,r5 и координатами...

Рисование кругов в Паскале
Пишу курсовую (игра), лягушка прыгает по болоту. И вот на что наткнулся Код: uses graph; ...

Рисование кругов рекурсией

1
Puporev
Модератор
56610 / 43293 / 29932
Регистрация: 18.05.2008
Сообщений: 102,999
15.01.2016, 09:15 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
type krug=record
          x,y,r:real;
          end;
const nmax=20;
var k:array[1..nmax]of krug;
    n,i,j,q,max,imax:integer;
begin
repeat
writeln ('Введите кол-во кругов от 3 до ',nmax);
readln (n);
until n in [3..nmax];
for i:=1 to n do
 begin
  writeln('Введите координаты центра и радиус круга ',i);
  readln (k[i].x,k[i].y,k[i].r);
 end;
max:=0;
for i:=1 to n do
 begin
  q:=0;
  for j:=1 to n do
  //если номер не совпадает и расстояние между центрами не больше
  //разности радиуса искомого круга и проверяемого, то проверяемвй входит в искомый
  if(j<>i)and(sqrt(sqr(k[j].x-k[i].x)+sqr(k[j].y-k[i].y))<=k[i].r-k[j].r)
  then q:=q+1;
  if q>max then
   begin
    max:=q;
    imax:=i;
   end;
 end;
if max=0 then write('Нет кругов, полностью лежащих в другом круге')
else write('Наибольшее количество кругов, равное ',max,' содержится в круге номер ',imax);
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2016, 09:15

Нарисовать несколько кругов, и выделить область пересечения
Есть задача: определение попадания точки на плоскость в область пересечения заданных кругов....

Процедура: нарисовать пять закрашенных кругов в прямоугольнике
2. нарисовать пять закрашенных кругов в прямоугольнике используя процедуру

Сумма площадей кругов, радиусы которых находятся в массиве
Одномерный массив содержит радиусы нескольких кругов. Подсчитать сумму площадей двух кругов, для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru