![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 29.03.2010
Сообщений: 1
|
![]()
Помогите пожалуйста, здать надо завтро =(
вот задание:Вводятся координаты центра и радиусы двух окружностей. Определить размер проекции на оси Х и У только второй окружности. написать программу на любом языке. архив проги со всеми файлами 900кб надеюсь не отнему у вас много траффика http://narod.ru/disk/19211658000/10.zip.html ошибки: вне зависимости от того как расположены окружности если первая окружность пересекается со второй на несколько едениц по икс или игрик или по икс и игрик то именно это количество едениц вычитается из проекции на оси, например если значения х1-2 х2-2 у1-3 у2-2 р1-1 р2-1 и проекция но ось х у второй окружности = 0 в то время как должна быть равна двум, если х1-2 х2-2 у1-2 у2-3 р1-1 р2-1 то все верно проекция но ось икс равна нулю вот место в котором все косяки, так =): rad1,rad2 радиусы соотв окружностей if er>0 then messagedlg('Данные введены неверно!',mtError,[mbOk],0) else begin if ((r1-rad1)<(r3-rad2)) and ((r1+rad1)>(r3+rad2)) and ((r2+rad1)>(r4+rad2)) and ((r2-rad1)<(r4-rad2)) then begin ox:=0; oy:=0; end else begin if ((r1+rad1)>(r3-rad2)) and ((r1-rad1)<(r3-rad2)) then OX:=rad2*2-abs((r1+rad1)-(r3-rad2)) else if ((r1-rad1)>=(r3-rad2)) and ((r1+rad1)<=(r3+rad2))and (rad2>rad1) then OX:= rad2*2-rad1*2 else if ((r3+rad2)>(r1-rad1)) and ((r3+rad2)<(r1+rad1)) then OX:=rad2*2-abs((r3+rad2)-(r1-rad1)) else if ((r3+rad2)<= (r1-rad1)) or ((r1+rad1)<=(r3-rad2)) then OX:=rad2*2 else Ox:=0; if ((r2+rad1)>(r4-rad2)) and ((r2-rad1)<(r4-rad2)) then Oy:=rad2*2-abs((r2+rad1)-(r4-rad2)) else if ((r2-rad1)>=(r4-rad2)) and ((r2+rad1)<=(r4+rad2)) and (rad2>rad1) then Oy:= rad2*2-rad1*2 else if ((r4+rad2)>(r2-rad1)) and ((r4+rad2)<(r2+rad1)) then Oy:=rad2*2-abs((r4+rad2)-(r2-rad1)) else if ((r4+rad2)<= (r2-rad1)) or ((r2+rad1)<=(r4-rad2)) then Oy:=rad2*2 else Oy:=0; зы спасибо заранее =-) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на окружности | Ozerich | Помощь студентам | 10 | 14.02.2010 04:27 |
Дивижение окружности по окружности | Irina8340 | Помощь студентам | 10 | 13.05.2009 20:25 |
движение окружности по окружности | MyQwErTy | Помощь студентам | 13 | 04.11.2008 22:52 |
Касательные к окружности | Dublin | Мультимедиа в Delphi | 3 | 21.10.2008 20:52 |
Текст в окружности. | Adamant | Свободное общение | 4 | 27.09.2008 09:58 |