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

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

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

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

17.01.2011, 20:25. Просмотров 884. Ответов 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");
}

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

Площадь окружностей C++
Площади окружностей C++
Площадь пересечения окружностей C++
C++ Даны координаты центров n окружностей и их радиусы. Определить число пересекающихся окружностей
C++ Пересечение двух окружностей
C++ Пересечение двух окружностей
Общая точка(и) пересечения 2 окружностей C++
Определить число пересекающихся окружностей C++
Столкновение двух окружностей C++
C++ Множество точек и окружностей
C++ Координаты пересечения двух окружностей
Задача на пересечение двух окружностей C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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