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

Пересечения круга и отрезка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Метод обратной матрицы http://www.cyberforum.ru/cpp-beginners/thread853797.html
Я писал свою программу давно на Паскале.. щас же мне она нужна на языке С++... може кто поможет перевести на С? заранее спасибо...всех с праздниками ( и пожалуйста напишите комментарии)...)) Вот прога на Паскале... program obr_matrica; var a1,a,c:array of real; b,x:array of real; j,i,n,k:integer;s,s1:real; begin writeln('Введите n'); read(n);
C++ выделение из строки s m слов, начиная от слова номер n выделение из строки s m слов, начиная от слова номер n. без использования библиотеки <string.h> http://www.cyberforum.ru/cpp-beginners/thread853773.html
Замена символа C++
Здравствуйте!!! помогите решить задачку! Дано строка символов оттуда надо убрать букву "А" и вместо буквы "Е" заменить буквой "Э". Заранее СПАСИБО!
C++ Для неориентированного графа сохранить его в виде 3 векторов с возможностью добавления и удаления ребер и верши
Народ может кто делал уже такое: Для неориентированного графа сохранить его в виде 3 векторов (откуда, куда, предыдущий) с возможностью добавления и удаления ребер и вершин. Построить алгоритм обхода графа в глубину (DFS) и в ширину (BFS). Для каждого из алгоритмов вывести порядок обхода графа. Скиньте плиз.
C++ sqrt: DOMAIN error http://www.cyberforum.ru/cpp-beginners/thread853698.html
Здравствуйте! Нам задали написать программу для вычесления периметра триугольника, я написал но при её работе пишет sqrt: DOMAIN error #include <iostream.h> #include <math.h> #include <windows.h> char rusbuffer; char* Rus(const char* text)
C++ Задачка на реализацию перестановки слов в тексте Кто может помочь с решением или направить меня на верный путь написания этой примитивной программки на "С++" ??? Написать все предложения, которые можно составить из слов: “ваши прекрасные глаза”, “прекрасная маркиза”, “от любви”, “сулят”, “мне”, “смерть” путем их всевозможных перестановок! Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать... подробнее

Показать сообщение отдельно
Mikl81
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 22
13.01.2014, 14:50     Пересечения круга и отрезка
Цитата Сообщение от IrineK Посмотреть сообщение
Погоняйте по тестам такое:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <cmath>
using namespace std;
 
bool commonSectionCircle    (   double x1, double y1, double x2, double y2, 
                                double xC, double yC, double R)
{   x1 -= xC;
    y1 -= yC;
    x2 -= xC;
    y2 -= yC;
 
  double dx = x2 - x1;
  double dy = y2 - y1;
 
  //составляем коэффициенты квадратного уравнения на пересечение прямой и окружности.
  //если на отрезке [0..1] есть отрицательные значения, значит отрезок пересекает окружность
  double a = dx*dx + dy*dy;
  double b = 2.*(x1*dx + y1*dy);
  double c = x1*x1 + y1*y1 - R*R;
 
  //а теперь проверяем, есть ли на отрезке [0..1] решения
  if (-b < 0)
    return (c < 0);
  if (-b < (2.*a))
    return ((4.*a*c - b*b) < 0);
 
  return (a+b+c < 0);
}
 
 
int main()
{   double x1,y1,x2,y2, xC,yC,R;
 
    cout<<"x1 y1 x2 y2:\t";
    cin>>x1>>y1>>x2>>y2;
    cout<<"xC yC R:\t";
    cin>>xC>>yC>>R;
 
    cout<<commonSectionCircle(x1,y1,x2,y2,xC,yC,R)<<"\n";
 
    cin.sync();cin.get();
    return 0;
}
Доброе время суток.

Хорошее решение. Быстро, просто, никаких делений.
Но КАК ЭТО РАБОТАЕТ? )))
Можете объяснить, плиз.
 
Текущее время: 22:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru