|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.05.2011, 03:27 | #1 |
Пользователь
Регистрация: 15.03.2011
Сообщений: 25
|
Растояние между двумя окружностями
Имею код:
Код:
у меня иногда выходит отрицательные... Пример: x1:=200; y1:=100; x2:=400; y2:=100; s получается равным 159,8 хотя растояние между центрами окружностей 200 Но если мы задаём x1:=250; y1:=100; x2:=350; y2:=100 то s = 100 программа считает правильно... помогите с кодом... ________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 01.05.2011 в 08:15. |
01.05.2011, 07:46 | #2 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
А вам что именно нужно? Расстояние между центрами окружностей или между окружностями?
И ещё. Зачем вы вводите радиус, если вы его не используете? P.S. Если между центрами, то вот рабочий код: Код:
Последний раз редактировалось _-Re@l-_; 01.05.2011 в 07:53. |
01.05.2011, 08:35 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
IGOMERL
у Вас всё написано верно. Ошибка возникает из-за взятых Вами типов данных. у Вас x1,x2,y1,y2 - integer. Это значит, что они могут хранить значения от -32768 до 32767 x2=400 x1=200 x2-x1 = 200 200^2 = 40000 - Паскаль банально не может записать полученное число в тип Integer, возникает переполнение. Бороться с этим явлением возможно или принудительно приводить типы данных в выражении к нужному типу (вещественному, например). Или, банально поступить так, как предложил _-Re@l-_ - сделать переменные типа REAL (или Double или Extended) p.s. ну и зачем Вы вводите r1 и r2 ?! да и при вводе весьма полезно давать пользователю подсказки, например: WriteLn('Введите X1, Y1, R1 :'); |
01.05.2011, 10:40 | #4 | |
Пользователь
Регистрация: 15.03.2011
Сообщений: 25
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связь между двумя DBGrid | WALL | БД в Delphi | 3 | 05.11.2010 15:47 |
время между двумя интервалами | tbeca@mail.ru | Общие вопросы Delphi | 2 | 29.01.2010 23:11 |
Разница между двумя datetimepicker | Droid | Общие вопросы Delphi | 3 | 24.09.2009 23:20 |
Связь между двумя ОС | Яр|/||< (^_^) | Общие вопросы Delphi | 8 | 06.07.2009 20:45 |
Связь между двумя таблицами. | megaten | Microsoft Office Access | 5 | 17.05.2009 14:17 |