Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal ABC Напечатать элементы массива являющиеся двухзначными числами 1)дан массив А(10).напечатать элементы массива являющиеся двухзначными числами.2)дан массив.переписать его положительные элементы во второй массив а остальные-в третий расположив их с начала... https://www.cyberforum.ru/ pascalabc/ thread282794.html Определить расход краски на покраску дома Pascal ABC
1)Даны основания трапеции и угол при большем основании.найти площадь трапеции.2)определить расход краски на покраску дома.крыша-голубая,стены-красные.расход краски-0.2 килограмма на квадратный...
Pascal ABC Delphi Procedure https://www.cyberforum.ru/ pascalabc/ thread282767.html
Используя процедуру вывести елочку треугольниками, у которых каждый следующее основание на единицу длиннее предыдущего. На вход дается единственное число - высота нижнего уровня, она не превосходит...
Pascal ABC текстовый файл.составить программу . https://www.cyberforum.ru/ pascalabc/ thread282733.html
1) Имеются два файла.Первый содержит следующую информацию о пассажирах поезда: -ФИО; -номер вагона; -номер места; пункт назначения. Второй файл содержит сведения о всем маршруте следования...
Pascal ABC Рекурсия в массивах
Описать рекурсивную функцию нахождения значения выражения \sqrt{{a}_{n}+\sqrt{{a}_{n-1}+...+\sqrt{{a}_{1}}}}
Pascal ABC Горящий костер. https://www.cyberforum.ru/ pascalabc/ thread282717.html
на АВС паскале .. костёрчек пылающий . будь хоть из ромбиков или треугольников )))
Pascal ABC Составте программу https://www.cyberforum.ru/ pascalabc/ thread282687.html
1.Расположить слова предложения в порядке возрастания количества букв. Ограничения: Предложение представляет собой строку длиной до 255 символов. Слова в предложении могут разделяться любым...
Заменить максимальный элемент каждой строки на противоположный Pascal ABC
Помогите пожалуйста решить задачу в Pascal (массив). Дан двумерный массив размером 5*6,заполненный случайным образом: a)заменить максимальный элемент каждой...
Pascal ABC Табулирование https://www.cyberforum.ru/ pascalabc/ thread282627.html
Используя все три оператора цикла(While, Repeat, For) составить программу табулирования функции y=f(x) на отрезке с шагом h=(b-a)/m, где m - заданное число. Данные: Функция Sin(1/x) a = pi/8 b...
Pascal ABC Определить первое положительное нечетное число Здравствуйте!!!!! помогите пожалуйста решить: 1) дана последовательность целых чисел. окончание последовательности число 99999,оно не входит в последовательность. определить первое положительное... https://www.cyberforum.ru/ pascalabc/ thread282586.html
Строки: Переписать в другую строку только цифры и отсортировать по возрастанию Pascal ABC
Уважаемые программисты, помогите с задачей: Дана строка текста. Известно, что в ней есть цифры и буквы. Переписать в другую строку только цифры и затем отсортировать ее по возрастанию. Мои мысли:...
Pascal ABC Уменьшить на величину последнего каждый из элементов матрицы Задание: Если среднее арифметическое элементов С1,С2,...,С7 больше минимального элемента матрицы, уменьшить на величину последнего каждый из элементов С1,С2,...,С7. Вот мой код: Program... https://www.cyberforum.ru/ pascalabc/ thread282562.html
Почетный модератор
64270 / 47569 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
25.04.2011, 10:02 0

Определить радиус и центр окружности, проходящей по крайней мере через три различные точки - Pascal ABC - Ответ 1585083

25.04.2011, 10:02. Показов 2286. Ответов 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
uses crt;
const nmax=50;
      e=0.01;
type
Point=record {точка}
      x,y:real;{координаты}
      end;
Okruz=record {окружность}
      o:Point;{координаты центра}
      r:real;{радиус}
    end;
MassP=array[1..nmax] of Point; {множество-массив точек}
procedure Tochki(var t:MassP;var n:integer);{создание множества точек}
var i:integer;
begin
repeat
write('Количество точек от 3 дo ',nmax,' n=');
readln(n);
until n in [3..nmax];
for i:=1 to n do
 begin
  t[i].x:=10*random;
  t[i].y:=10*random;
 end;
write('X:');
for i:=1 to n do
write(t[i].x:5:2);
writeln;
write('Y:');
for i:=1 to n do
write(t[i].y:5:2);
writeln;
end;
{вычисление параметров окружности, проходящей через три точки}
procedure Okr(t1,t2,t3:Point;var ok:Okruz);
var a,b,x,y:real;
    k0,k1,k2,m0,m1,m2:real;
begin
k0:=sqr(t1.x)-sqr(t2.x)+sqr(t1.y)-sqr(t2.y);
k1:=2*(t1.y-t2.y);
k2:=2*(t1.x-t2.x);
m0:=sqr(t1.x)-sqr(t3.x)+sqr(t1.y)-sqr(t3.y);
m1:=2*(t1.y-t3.y);
m2:=2*(t1.x-t3.x);
a:=k2*m0-k0*m2;
b:=k2*m1-k1*m2;
if b=0 then exit;
y:=a/b;
ok.o.y:=y;
if abs(m2) > e then x:=(m0-y*m1)/m2
else
  if abs(k2) > e then x:=(k0-y*k1)/k2
  else exit;
ok.o.x:=x;
ok.r:=sqrt(sqr(t1.x-x)+sqr(t1.y-y));
end;
{определение принадлежности точки окружности}
function Prin(a:Point;ok:Okruz):boolean;
begin
if (sqr(a.x-ok.o.x)+sqr(a.y-ok.o.y))-sqr(ok.r)<-e then Prin:=true
else Prin:=false
end;
 
var t:MassP;
    ok:Okruz;
    n,i,j,k,l,kol,mx:integer;
    mxr,mxx,mxy:real;
begin
clrscr;
randomize;
Tochki(t,n);
mx:=0;
mxr:=0;
mxx:=0;
mxy:=0;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
for k:=j+1 to n do
 begin
  Okr(t[i],t[j],t[k],ok);
  kol:=0;
  for l:=1 to n do
  if Prin(t[l],ok)then kol:=kol+1;
  if kol>mx then
   begin
    mx:=kol;
    mxr:=ok.r;
    mxx:=ok.o.x;
    mxy:=ok.o.y;
   end;
 end;
if mx=0 then write('Окружности, содержащей точки внутри нет!')
else
 begin
  writeln('Окружность: координаты центра x0=',mxx:0:2,' Y0=',mxy:0:2,' R=',mxr:0:2);
  writeln('Внутри точек=',mx);
 end;
readln;
end.
Если три самые дальние от центра тяжести точки не на одной прямой, то внутри всегда n-3 точек. 3 точки на самой окружности.

Вернуться к обсуждению:
Определить радиус и центр окружности, проходящей по крайней мере через три различные точки Pascal ABC
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2011, 10:02
Готовые ответы и решения:

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

Пределить радиус и центр окружности, проходящей, по крайней мере, через три различные точки
Здравствуйте помогите пожалуйста над задачей бьюсь уже больше 2-х недель а толку 0 :-( Суть...

Написать программу, определяющую радиус и центр окружности, проходящей по крайней мере через три различные точки заданного множества точек
Надо написать программу на СИ, определяюшую радиус и центр окружности, проходящей по крайней мере...

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

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2011, 10:02
Помогаю со студенческими работами здесь

Определить радиус и центр такой окружности, проходящей хотя бы через три различные точки
Множество точек не должно превышать 100. Данные заполняются случайным образом. Результат решения...

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

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

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru