IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> трехмерное пространство, найти радиус
bairt
сообщение 23.04.2006 12:07
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


В трехмерном пространстве задано N шаров. Найти шар минимального радиуса, охватывающий все заданные
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 26.04.2006 7:25
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


lapp, а пост # 15 ты учел ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
bairt
сообщение 26.04.2006 8:09
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(klem4 @ 26.04.2006 11:25) *
lapp, а пост # 15 ты учел ?

тогда можете проверить етот код

uses crt;
type InfoSphere=record
x,y,z,r:real;
end;
const n=10;
var InfoSp:InfoSphere;
f:text;
i:integer;
Spheri: array[1..n] of InfoSphere;
Rnew,Xnew,Ynew,Znew:real;

function Lenght(x0,y0,z0,x1,y1,z1:real):real;
begin
Lenght:=sqrt(sqr(x0-x1)+sqr(y0-y1)+sqr(z0-z1));
end;


procedure SearchMinSpher(x0,y0,z0,r0,x1,y1,z1,r1:real);
var L:real;
begin
L:=Lenght(x0,y0,z0,x1,y1,z1);
if (L=0) then
begin
Xnew:=x0;
Ynew:=y0;
Znew:=z0;
if (r1>r0) then
begin
Rnew:=r1;
end
else
begin
Rnew:=r0;
end;
end
else
begin
if (r1>r0) and ((r1-r0)>=L) then
begin
Rnew:=r1;
Xnew:=x1;
Ynew:=y1;
Znew:=z1;
end;
if (r0>r1) and ((r0-r1)>=L) then
begin
Rnew:=r0;
Xnew:=x0;
Ynew:=y0;
Znew:=z0;
end;
Rnew:=(r0+r1+L)/2;
Xnew:=(Rnew-r0)*(x1-x0)/L+x0;
Ynew:=(Rnew-r0)*(y1-y0)/L+y0;
Znew:=(Rnew-r0)*(z1-z0)/L+z0;

end;
end;

begin
assign(f,'3_input.txt');
reset(f); {otkrivaem file}
with InfoSp do
begin
for i:=0 to 4*n do
begin
read(f,Spheri[i div 4].x);
read(f,Spheri[i div 4].y);
read(f,Spheri[i div 4].z);
read(f,Spheri[i div 4].r);
end;
{
zapolnili massiv iz file
}
Rnew:=Spheri[1].r;
Xnew:=Spheri[1].x;
Ynew:=Spheri[1].y;
Znew:=Spheri[1].z;
for i:=2 to n do
begin
SearchMinSpher(Xnew,Ynew,Znew,Rnew,Spheri[i].x,Spheri[i].x,Spheri[i].x,Spheri[i].x);
end;

end;
close(f);
end.


Теги !
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
bairt   трехмерное пространство   23.04.2006 12:07
Altair   Есть задача решенная - найти окружность, в которую...   23.04.2006 12:25
volvo   <...>   23.04.2006 12:26
lapp   volvo, давай рассмотрим частный стучай. Две сфер...   23.04.2006 12:45
volvo   Ну, во-первых, не Sqrt(3), а 2*Sqrt(3) Если уже в...   23.04.2006 12:55
lapp   Ну, во-первых, не Sqrt(3), а 2*Sqrt(3) Если уже ...   23.04.2006 12:59
klem4   А есть данные для теста ? А то вот накатал кое что...   23.04.2006 18:25
klem4   В общем вот что пока есть.На соклько я вижу отлича...   23.04.2006 19:36
volvo   klem4, ты, если я не ошибаюсь, решаешь несколько д...   23.04.2006 19:41
klem4   Вот такой вариант ... но опятьже нужен тестовые да...   23.04.2006 20:02
Бравый генерал   :) klem4, как видно из твоего кода, ты находил две...   23.04.2006 23:20
lapp   Наша же задача сводится к задаче "найти окру...   24.04.2006 14:41
volvo   <...>   23.04.2006 23:25
GoodWind   почему-то скрыты... Я тоже не понял почему. Если...   24.04.2006 14:58
klem4   Я скрыл решение просто по тому что оно не верное, ...   25.04.2006 15:41
bairt   а ты можешь выложить результат?   25.04.2006 18:16
klem4   Извини, не понял тебя ...   25.04.2006 19:36
bairt   я про данные она правильно работает? и ты можешь п...   25.04.2006 21:37
klem4   Я же писал, у меня нету нормальных тестовых данных...   26.04.2006 7:02
lapp   Я скрыл решение просто по тому что оно не верное,...   26.04.2006 7:16
klem4   lapp, а пост # 15 ты учел ?   26.04.2006 7:25
bairt   lapp, а пост # 15 ты учел ? тогда можете проверить...   26.04.2006 8:09
lapp   lapp, а пост # 15 ты учел ? Да, klem4, учел. Во...   26.04.2006 13:06
Бравый генерал   :) klem4, ты так сказал, как будто после того пос...   26.04.2006 15:38
klem4   Да, теперь я понял, что был не прав, извиняюсь. И...   26.04.2006 19:40
lapp   Да, теперь я понял, что был не прав, извиняюсь. И...   27.04.2006 13:02
lapp   Выполняю обещанное - публикую анонсированное мной ...   28.04.2006 5:43
lapp   Похоже, я изрядно напугал народ своим ответом... ...   1.05.2006 15:18


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 11:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"