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

Пересечение двух окружностей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана целочисленная матрица [ai,j]i,j=1,...,n. Получить bi,...,bn http://www.cyberforum.ru/cpp-beginners/thread661661.html
Дана целочисленная матрица i,j]i,j=1,...,n. Получить bi,...,bn, где bi и это \sum_{j=1}^{n}, ai,j2. Задали сделать сам не могу разобраться как написать этот массив.
C++ Есть две ленты напечатать первое вхождение в первую строчку любого элемента из второй ленты. Помогите пожалуйста написать программу.Есть две ленты напечатать первое вхождение в первую строчку любого элемента из второй ленты. http://www.cyberforum.ru/cpp-beginners/thread661659.html
C++ Приведите пример инвариантности
Если можно, то объясните на конкретном примере(желательно лёгком в понимании) что такое инвариантность. На словах понятно, что это константа, которая остаётся неизменной на всём действии цикла, а вот в живую в коде хотелось бы увидеть(тяжело просто себе это представить) Добавлено через 1 час 25 минут Никто не знает что такое инвариантность?
Калькулятор C++
Написал примитивный калькулятор: #include <iostream> #include <locale.h> #include <conio.h> using namespace std; int main(){ setlocale(LC_ALL,"ukrainian"); float a,c;
C++ Программы с открытым исходным кодом http://www.cyberforum.ru/cpp-beginners/thread661630.html
Дайте пожалуйста список программ с открытым исходным кодом.
C++ Вычисление значения выражения по заданной формуле для заданых n посчитать функцию (1^2)/(1+3^2)+ (2^2)/(2+3^2)+ (3^2)/(3+3^2)+…..+(n^2)/(n+3^2) :wall: подробнее

Показать сообщение отдельно
Bogdand
3 / 3 / 0
Регистрация: 04.12.2010
Сообщений: 93

Пересечение двух окружностей - C++

01.10.2012, 20:31. Просмотров 6093. Ответов 16
Метки (Все метки)

На плоскости даны две окружности. Требуется проверить, пересекаются ли они.

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

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

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

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
    double x1,x2,y1,y2,r1,r2;
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    cin >> x1 >> x2 >> y1 >> y2 >> r1 >> r2;
    double r = sqrt(pow(x2 - x1,2) + pow(y2 - y1,2)); //расстояние между центрами
    // проверка на совпадение 2-ух окружностей
    if (r == 0 && r1 == r2)
    {
        cout << "YES";
        return 0;
    }
 
    if (r1 + r2 >= r && r1 + r >= r2 && r2 + r >= r1)
        cout << "YES";
    else
        cout << "NO";
    return 0;
}
существует какой то контрпример, при котором задача не проходит, я его не знаю но таковой имеется, поскольку система проверки меня не пропускает, что же я не учёл?
PS Алгоритм на изображение... Просто проверяется условие существование треугольника!
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru