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

Принадлежит ни точка кольцу (на C) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Do6oDyH
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
01.03.2011, 14:44     Принадлежит ни точка кольцу (на C) #1
Выяснить, принадлежит ли точка с координатами (x,y) кольцу с центром в начале координат с внешним радиусом 5 и внутренним радиусом 2.

Помогите кому не сложно пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
01.03.2011, 14:54     Принадлежит ни точка кольцу (на C) #2
Чем помочь? Формулу круга на плоскости не знаешь?
Do6oDyH
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
01.03.2011, 15:13  [ТС]     Принадлежит ни точка кольцу (на C) #3
Алгорить решения и формулы как-то не знаю) Говорили с теоремой Пифагора связано, вот только как...
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
01.03.2011, 15:41     Принадлежит ни точка кольцу (на C) #4
Виртуальный тебе подзатыльник за незнание школьной математики.
Иди найди нужную информацию, напиши решение, и только тогда, если что-то не будет получаться, пиши сюда.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.03.2011, 16:27     Принадлежит ни точка кольцу (на C) #5
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 <stdio.h>
#include <math.h>
 
int in_ring(double inRad, double outRad, double x, double y){
    double l = sqrt(x*x + y*y);
    return ( l >= inRad && l <= outRad );
}
 
#define INSIDE_RADIUS (2.0)
#define OUTSIDE_RADIUS (5.0)
    
int main(void){
    double x, y;
    
    printf("X = ");
    scanf("%lf", &x);
    printf("Y = ");
    scanf("%lf", &y);
    
    printf("The point is %sside of ring.\n", in_ring(INSIDE_RADIUS, OUTSIDE_RADIUS, x, y) ? "in" : "out");
    
    return 0;
}
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
01.03.2011, 16:39     Принадлежит ни точка кольцу (на C) #6
Молодец, помог!
Do6oDyH
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
02.03.2011, 13:08  [ТС]     Принадлежит ни точка кольцу (на C) #7
А я так решил.
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    float x,y;
    scanf("%f%f",&x,&y);
    if((x*x+y*y>2) && (x*x+y*y<5))
    printf("Prinadlesht");
    else("Ne prinadlesht");
    return 0;
}
Это не правильно?
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
02.03.2011, 13:10     Принадлежит ни точка кольцу (на C) #8
Не совсем. Знаки неравенства должны быть нестрогими, потому что точка на окружности тоже принадлежит кольцу.
Do6oDyH
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
02.03.2011, 13:12  [ТС]     Принадлежит ни точка кольцу (на C) #9
Тогда вот так 8 строка
C
1
 if((x*x+y*y>=2) && (x*x+y*y=<5))
Теперь всё так?
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
02.03.2011, 13:15     Принадлежит ни точка кольцу (на C) #10
Похоже на правду.
Do6oDyH
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
02.03.2011, 13:17  [ТС]     Принадлежит ни точка кольцу (на C) #11
Спасибо что проверили, и за то что думать заставили
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
02.03.2011, 13:20     Принадлежит ни точка кольцу (на C) #12
Всегда пожалуйста.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
02.03.2011, 13:29     Принадлежит ни точка кольцу (на C) #13
Цитата Сообщение от Do6oDyH Посмотреть сообщение
Это не правильно?
Кроме справедливого замечания по поводу
Цитата Сообщение от volovzi Посмотреть сообщение
точка на окружности тоже принадлежит кольцу
во-первых подобные расчёты лучше всё-таки выносить в отдельную функцию, ну и во-вторых использование магических чисел, как то 2 и 5 в
Цитата Сообщение от Do6oDyH Посмотреть сообщение
if((x*x+y*y>2) && (x*x+y*y<5))
предаётся анафиме не реже, чем использование оператора goto. А представьте, что программа у вас большая, кольцо это в ней используется в разных местах и тут вдруг оказывается, что внешний радиус должен быть равен шести к примеру. И чё, блин, делать? Лопатить всю программу в поисках числа 5 и замены его на число 6. Кроме варианта "исправить не везде" при подобном подходе грозит вариант "исправить что-то лишнее". То бишь нужно такие вещи объявлять константами, при чём там, где их не сложно будет отыскать и изменить при необходимости. Но в принципе для учебного примера и так сойдёт...
Только одна мелочь -

http://www.cyberforum.ru/cgi-bin/latex.cgi?{R}^{2} = {x}^{2} + {y}^{2}

Посмотрите на своё решение ещё раз, заметьте, чего не хватает...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2011, 14:17     Принадлежит ни точка кольцу (на C)
Еще ссылки по теме:

C++ Определить, принадлежит ли точка кольцу, определяемому окружностями
C++ Принадлежит ли точка четырехугольнику?
Принадлежит ли точка области C++

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

Или воспользуйтесь поиском по форуму:
Do6oDyH
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
04.03.2011, 14:17  [ТС]     Принадлежит ни точка кольцу (на C) #14
Спасибо, мне уже препод ошибку показал =)
Yandex
Объявления
04.03.2011, 14:17     Принадлежит ни точка кольцу (на C)
Ответ Создать тему
Опции темы

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