Две окружности C++

 Определить количество точек пересечения двух окружностей.

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

   6 чисел x1, y1, r1, x2, y2, r2, где x1, y1, x2, y2 - координаты центров окружностей, а r1, r2 – их радиусы. Все числа - действительные, не превышают по модулю 1000000000, заданы не более чем с 3-мя знаками после запятой.

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

   Количество точек пересечения. Если точек пересечения бесконечно много, то вывести -1.

			#include "iostream"
#include "math.h"
using namespace std;
int main(){
    long  x1,y1,r1,x2,y2,r2,dl,f;
    cin>>x1>>y1>>r1>>x2>>y2>>r2;
    dl=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
    if (r2>r1)
    {
        f=r1;
        r1=r2;
        r2=f;
        f=x2;
        x1=x2;
        x2=f;
        f=y1;
        y1=y2;
        y2=f;
    }
    if(x1==x2&&y1==y2&&r1==r2) cout << "-1" << endl;
     else
    if(r1+r2==dl||dl==r1-r2) cout << "1" << endl; else
    if (r1+r2 < dl||dl < r1-r2) cout << "0" << endl; else
    cout << "2" << endl;        
}
Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top