![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Avalon |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Миша Репутация: ![]() ![]() ![]() |
Задача 1. Круговая площадь
Два круга заданы координатами центров в прямоугольной декартовой системе координат и радиусами. Найти площадь их пересечения. Ограничения: во входных данных целые числа и по модулю не превосходят 1000. Ввод из файла krug.in. В первой строке находятся шесть вещественных чисел через пробел - координаты центров и радиусы двух кругов: x1, y1, R1, x2, y2, R2. Вывод на экран. Вывести одно вещественное число с одним знаком после запятой - площадь пересечения кругов. Пример Ввод 20 30 15 40 30 30 Вывод 608.4 Как я понимаю: 1. Определить непересекаемость: R1 + R2<= SQRT(SQR(X1-X2)+SQR(Y1-Y2)), тогда площадь=0 2. Определить вложенность R2 в R1: SQRT(SQR(X1)+SQR(Y1)) + R1 >= SQRT(SQR(X2)+SQR(Y2)) + R2, тогда S = Pi*sqr(R2) P.S. Поиск юзал, ничего подобного не нашол Сообщение отредактировано: Avalon - 16.02.2008 11:43 -------------------- Владение русской орфографией - это как владение кунг-фу: настоящие мастера не применяют его без необходимости... (с)
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Вот тут посмотри: АлгоЛист - Перекрытие кругов , там приведен ход решения, останется только запрограммировать...
|
Avalon |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Миша Репутация: ![]() ![]() ![]() |
помогите запрограммировать пожалуйста
![]() ![]() -------------------- Владение русской орфографией - это как владение кунг-фу: настоящие мастера не применяют его без необходимости... (с)
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Поможем... Ты начни хотя бы. А то мало того, что почти все правила нарушены, задача олимпиадная (и, кстати, конкурсная к тому же), так ты еще хочешь, чтобы за тебя ее решили, а ты только пошел и сдал?
P.S. И не надо писать beginи говорить, что ты начал, а дальше у тебя не получается и тебе уже нужна помощь. Значит, иди и читай книгу о Паскале... Сообщение отредактировано: volvo - 16.02.2008 12:49 |
Michael_Rybak |
![]()
Сообщение
#5
|
|||
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
|
|||
Avalon |
![]()
Сообщение
#6
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Миша Репутация: ![]() ![]() ![]() |
вот моё начало, дальше я не понимаю
Код program x3; const Pi=3,14; var x1,x2,y1,y2,r1,r2,S:integer; begin readln (x1,y1,R1,x2,y2,R2); {Assign(input, ‘krug.in’); Reset (input);} if R1+R2<=SQRT(SQR(X1-X2)+SQR(Y1-Y2)) then s:=0; else if SQRT(SQR(X1)+SQR(Y1))+R1>=SQRT(SQR(X2)+SQR(Y2))+R2 then S:=Pi*sqr(R2) else begin Сообщение отредактировано: Avalon - 16.02.2008 13:28 -------------------- Владение русской орфографией - это как владение кунг-фу: настоящие мастера не применяют его без необходимости... (с)
|
![]() ![]() |
![]() |
Текстовая версия | 11.08.2025 2:01 |