Форум программистов, компьютерный форум 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
 Аватар для Bogdand
3 / 3 / 0
Регистрация: 04.12.2010
Сообщений: 93
01.10.2012, 20:31     Пересечение двух окружностей
На плоскости даны две окружности. Требуется проверить, пересекаются ли они.

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

Входной файл 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:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru