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

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

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

пересечение окружностей - C++

17.01.2011, 20:25. Просмотров 894. Ответов 0
Метки нет (Все метки)

Задание: Найти координаты точек пересечения двух окружностей. Дано радиусы и координаты центров окружностей.

Добавлено через 18 минут
#include <stdio.h>
#include <math.h>
#include <conio.h>

void main (void){
float xa,xb,ya,yb,ra,rb;
float d,a,b,c,dl;
float x1,y1,x2,y2;
float x1a,x2a,y1a,y2a;
printf("Vvedit koordynaty centriv kil:\nx1,y1:");
scanf("%f%f",&xa,&ya);
printf("x2,y2:");
scanf("%f%f",&xb,&yb);
printf("r1,r2:");
scanf("%f%f",&ra,&rb);
if (xa==xb && ya==yb && ra==rb)
printf("kolo pivni");
// коло не перетинаються або перетинаються в одній точці
x2=0;y2=0;
x1=xb-xa;
y1=yb-ya;
a=2*x1;
b=2*y1;
c=-(ra*ra)+(rb*rb)-(x1*x1)-(y1*y1);
d=4*a*a*(ra*ra*((a*a)+(b*b))-(c*c));
if (d>0){
puts("2 peretynu");
y1a=(-b+sqrt(d))/(2*a);
y2a=(-b-sqrt(d))/(2*a);
x1a=-((b*y1a+c)/a);
x2a=-((b*y2a+c)/a);
dl=sqrt((x2a-x1a)*(x2a-x1a)+(y2a-y1a)*(y2a-y1a));
printf("dvi tochky peretyny:");
printf("(%.2f;%.2f),(%.2f;%.2f)",x1a,y1a,x1a,y2a);
}
else if(d==0)
puts("kolo peretynayutsya v 1 t.");
if(d<0)
puts("ne peretunayutsya");
}

Вот то, что я пробывала сделать, но оно не совсем правильно работает. Помогите, пожалуйста, найти ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 20:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос пересечение окружностей (C++):

Пересечение двух окружностей - C++
Есть такая задачка. Вам даны две окружности в плоскости. Найдите все их различные точки пересечения. В силу большой требуемой...

Пересечение двух окружностей - C++
На плоскости даны две окружности. Требуется проверить, пересекаются ли они. Входные данные Входной файл INPUT.TXT состоит из двух...

Задача на пересечение двух окружностей - C++
Всем привет! Прошу вашей помощи в решении задачи так как я уже дней пять над ней мучаюсь и все не выходит. Даны две окружности в...

Даны координаты центров n окружностей и их радиусы. Определить число пересекающихся окружностей - C++
Допуск к экзамену в субботу а не решено еще 5 заданий по С++ 1.Даны координаты центров n окружностей и их радиусы. Определить число...

Пересечение двух прямых и проверка на пересечение - C++
Доброго времени суток слизал функцию проверки отсюда:/segments_intersection_checking на всякий случай у меня она выглядит так: int...

Площадь окружностей - C++
Задача: Рассматриваются н лучей, проведенных в плоскости из точки О. Углы между соседними лучами равны 2П/н. На лучах выбраны точки а1, а2...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2011, 20:25
Привет! Вот еще темы с ответами:

Площади окружностей - C++
Задание звучит так: &quot;Запросить у пользователя массив из 5 радиусов окружностей. В другой массив записать площади этих окружностей. Вывести...

Площадь пересечения окружностей - C++
Найти площадь пересечения двух окружностей. Дано координаты центров и радиусы. Окружности могут быть одна внутри другой, пересекаться в...

Множество точек и окружностей - C++
Помогите пожалуйста, в программе нельзя использовать структуры, как мне их заменить на массивы? Заранее огромное спасибо.. #include...

Столкновение двух окружностей - C++
Итак,я сталкиваю два шарика(но вообще их больше,массив). Какое-то время после старта программы все нормально,однако спустя некоторое...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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