Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2010, 20:22   #1
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
Вопрос Си геометрия

Помогите плз оч надо

Задана окружность с помощью координат центра и радиуса и прямая с помощь координат 2х точек. Определить пересекаются ли эти фигуры.
Денни вне форума Ответить с цитированием
Старый 04.03.2010, 21:21   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,772
По умолчанию

Составьте простенькую систему из 2х уравнений для 2х неизвестных. Из линейного выразите х или у (что душе угодно), подставьте во второе - получите квадратное уравнение...

Фактически ваша задача определить есть ли действительные корни у полученного квадратного уравнения.
p51x вне форума Ответить с цитированием
Старый 04.03.2010, 21:22   #3
Грымзик
Пользователь
 
Регистрация: 17.09.2009
Сообщений: 40
По умолчанию

Находишь уравнение прямой в виде
Ax+By+C=0

Это будет вроде
A=y1-y2
B=x2-x1
C=y1*(x1-x2)+x1(y2-y1)

Зная центр окружности, легко найти расстояние
от прямой до нее, формула по-моему
r=|Ax0+By0+C|/sqrt(A*A+B*B)

Если расстояние меньше радиуса, то пересекает,
если равно, то касается, если меньше, то не пересекает.
Грымзик вне форума Ответить с цитированием
Старый 04.03.2010, 21:33   #4
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

а программкой можно
Денни вне форума Ответить с цитированием
Старый 04.03.2010, 21:38   #5
Грымзик
Пользователь
 
Регистрация: 17.09.2009
Сообщений: 40
По умолчанию

Ну честно говоря чего тут писать? Такое и самому
надо уметь писать, даже если это вообще первая
прога. Ты тогда напиши, а если уж баги будут,
то выкладывай, найдем. Используй библиотеку math.h
для функций fabs и sqrt.
Грымзик вне форума Ответить с цитированием
Старый 04.03.2010, 21:56   #6
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

ну плз оч нуно я не могу догнать как сравнивать х прямой с х окружности
Денни вне форума Ответить с цитированием
Старый 04.03.2010, 22:08   #7
Грымзик
Пользователь
 
Регистрация: 17.09.2009
Сообщений: 40
По умолчанию

Да я же все формулы написала. Там сравнивать только в конце нужно.

Код:
#include <stdio.h>
#include <math.h>

int main()
{
double A,B,C,r,R,x0,x1,x2,y1,y2;
//тут всякие запросы типа "введите координаты..." и считывание
A=y1-y2;
B=x2-x1;
C=y1*(x1-x2)+x1(y2-y1);
r=fabs(Ax0+By0+C)/sqrt(A*A+B*B);
if (r<R)
    printf("peresekayutsya");
if (r==R)
    printf("kasayutsya");
if (r>R)
    printf("ne peresekayutsya");
return 0;}

Последний раз редактировалось Грымзик; 04.03.2010 в 22:21.
Грымзик вне форума Ответить с цитированием
Старый 04.03.2010, 22:32   #8
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

эээ а какие переменные сканфить?
Денни вне форума Ответить с цитированием
Старый 04.03.2010, 22:45   #9
Грымзик
Пользователь
 
Регистрация: 17.09.2009
Сообщений: 40
По умолчанию

R, x0, x1, x2, y1, y2
Грымзик вне форума Ответить с цитированием
Старый 04.03.2010, 23:07   #10
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

эээээ не считает
Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>

int main()
{
float A,B,C,r,R,x0,x1,x2,y1,y2;
printf("vvodim koordinati\n");
scanf("%f %f %f %f %f %f ",&R,&x0,&x1,&x2,&y1,&y2);
A=y1-y2;
B=x2-x1;
C=y1*(x1-x2)+x1*(y2 -y1);
r=fabs(A*x0+B*y0+C)/sqrt(A*A+B*B);
if (r<R)
    printf("peresekayutsya");
if (r==R)
    printf("kasayutsya");
if (r>R)
    printf("ne peresekayutsya");
    getch();
return 0;}
Денни вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Геометрия на Паскале NikiFX Фриланс 11 04.12.2009 20:38
Геометрия Levsha100 Помощь студентам 5 29.09.2009 09:56
Геометрия и Delphi Mollerat Помощь студентам 4 16.03.2009 22:54
геометрия 9 класс VikaNovak Помощь студентам 2 27.04.2008 00:40