Pascal почему не работает?

компьютеры

Две окружности
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
На плоскости даны две окружности. Требуется проверить, пересекаются ли они.

Входные данные

Входной файл INPUT.TXT состоит из двух строк. На каждой строке записана информация об одной окружности – координаты ее центра x и y (целые числа, по модулю не превосходящие 5000) и радиус (целое число 1 ≤ r ≤ 1000).

Выходные данные

В выходной файл OUTPUT.TXT выведите «YES», если окружности пересекаются, и «NO» в противном случае.

Примеры

№ INPUT.TXT OUTPUT.TXT
1 0 0 2
0 3 2 YES
2 1 1 1
4 4 1 NO


Мой код:

Две окружности
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
На плоскости даны две окружности. Требуется проверить, пересекаются ли они.

Входные данные

Входной файл INPUT.TXT состоит из двух строк. На каждой строке записана информация об одной окружности – координаты ее центра x и y (целые числа, по модулю не превосходящие 5000) и радиус (целое число 1 ≤ r ≤ 1000).

Выходные данные

В выходной файл OUTPUT.TXT выведите «YES», если окружности пересекаются, и «NO» в противном случае.

Примеры

№ INPUT.TXT OUTPUT.TXT
1 0 0 2
0 3 2 YES
2 1 1 1
4 4 1 NO


вылетает Wrong Answer на первом тесте

Примечание:
Program Kolo;
Var l,r1,r2,x1,x2,y1,y2:integer;
BEGIN
assign(input,'input.txt');assign(output,'output.txt');
reset(input);rewrite(output);
read(input,x1,y1,r1,x2,y2,r2);
l:=round(sqrt(sqr(x1-x2)+sqr(y1-y2)));
if (l<=r1+r2) and ((l>=r1) or (l>=r2)) then write(output,'YES') else write(output,'NO');
close(input);close(output);
END.
Ответы:
Например, потому, что расстояние - это нифига не целое число. А ты ему round делаешь. Конечно, после этого лажа выходит.
От корня вообще избавься, сравнивай квадраты расстояний.
1)почему 4 числа в строке когда должно быть 3?
2)read(input,x1,y1,r1,x2,y2,r2);//не все числа читаются
окружности пересекаются, если расстояние между центрами меньше, чем сумма радиусов и больше, чем модуль разности радиусов.
перепиши условие.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.