Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aerarian
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 78
#1

Проверить, пересекаются ли окружности - C++

18.07.2016, 11:10. Просмотров 282. Ответов 2
Метки нет (Все метки)

Привет родные форумчане! Пожалуйста помогите решить буду особенно благодарен если напишите код с комментариями что как работает, заранее спасибо ребят!

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

Вход
0 0 2
0 3 2

1 1 1
4 4 1


Выход
YES
NO
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2016, 11:10     Проверить, пересекаются ли окружности
Посмотрите здесь:

C++ Определите, во скольких точках пересекаются окружности.
C++ Пересекаются ли окружности с заданными радиусами и координатами центров
C++ Проверить, лежит ли окружност целиком внутри окружности
Определить пересекаются ли окружности и найти среди них уединенные C++
C++ Определить пересекаются ли окружности и найти среди них уединенные(в истории не нашел( )
C++ Определить, пересекаются ли окружности, касаются друг друга или не имеют общих точек
C++ Проверить, лежат ли данные точки на одной окружности
C++ Проверить, пересекаются ли две окружности
Проверить принадлежность точки с заданными координатами заданному сегменту окружности C++
Определить в скольких точках пересекаются окружности C++
C++ Проверить пересечение окружности и прямой
C++ Проверить, могут ли все заданные точки лежать на одной окружности и, если да, найти её радиус

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lawr
359 / 253 / 122
Регистрация: 09.05.2014
Сообщений: 761
19.07.2016, 11:59     Проверить, пересекаются ли окружности #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
//окружность задаем структурой, содержащей поля координат центра и радиуса
struct ring {
    int x, y, r;
};
int main(){
//объявляем и инициализируем две окружности
    ring a, b;
    std::cin>>a.x>>a.y>>a.r;
    std::cin>>b.x>>b.y>>b.r;
//sqrt(pow((a.x-b.x), 2)+pow((a.y-b.y), 2))- расстояние между центрами. две окружности пересекаются тогда и только тогда,
//когда расстояния между центрами меньше суммы их радиусов, но больше модуля их разности, 
//что мы и проверяем if-ом
    if ((sqrt(pow((a.x-b.x), 2)+pow((a.y-b.y), 2))<a.r+b.r)&&(sqrt(pow((a.x-b.x), 2)+pow((a.y-b.y), 2))>abs(a.r-b.r)))
        std::cout<<"YES";//по результатам проверки выводим результат.
    else
        std::cout<<"NO";
}
Aerarian
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 78
21.07.2016, 13:50  [ТС]     Проверить, пересекаются ли окружности #3
СПАСИБО!
Yandex
Объявления
21.07.2016, 13:50     Проверить, пересекаются ли окружности
Ответ Создать тему
Опции темы

Текущее время: 22:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru