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

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

Войти
Регистрация
Восстановить пароль
 
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
#1

Принадлежность точки к заданой плоскости - C++

27.04.2013, 00:40. Просмотров 430. Ответов 3
Метки нет (Все метки)

Доброго времени суток, этот вопрос уже подымался, но внятного ответа получено небыло
собственно задача:
Определите, принадлежит ли точка A, заданная координатами (x0; y0), части плоскости, ограниченной отрезком оси абсцисс от 0 до и синусоидой y = sin x.


Технические условия
Входные данные

В единственной строке заданы координаты заданной точки (x0; y0). Значения координат точки не превышают по модулю 100.

Выходные данные

В единственной строке вывести сообщение YES - в случае если точка принадлежит указанной части плоскости, NO - в случае, если не принадлежит, и ON BORDER - в случае, если нам "повезло" и точка принадлежит линии, которая ограничивает указанную часть плоскости. В этой задаче считать, что точка принадлежит любой из линий, ограничивающих заданную часть плоскости, если при одинаковых абсциссах расстояние от неё до какой-то из ограничивающих часть плоскости линий по оси ординат не превышает 0.00001, или же при одинаковых ординатах, расстояние от точки до какой-то из ограничивающих часть плоскости линий по оси абсцисс также не превышает 0.00001.
e-olimp
http://www.e-olimp.com/problems/2028

набросок:
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
44
45
46
47
48
49
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<iomanip>
 
using namespace std;
 
#define DB(a) cout<<#a<<"="<<a<<" ";
#define DBN(a) cout<<#a<<"="<<a<<endl;
 
 
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<ll> vll;
typedef vector<pii> vpii;
typedef map<int, int> mii;
typedef set<int> seti;
 
//#define min(a,b) ((a)<(b)?(a):(b))
//#define max(a,b) ((a)>(b)?(a):(b))
//#define sqrt(a) (sqrt(1.0*(a)))
//#define sqr(a) ((a)*(a))
//#define all(a) (a.begin(),a.end())
 
 
//const int mod = 1000000007; // const int mod = 1000000009;
//const double EPS = 1E-7;
 
int main() {
    double x, y, fx, fr;
    cin >> x >> y;
    if (x > M_PI / 2) x -= M_PI / 2;
    fx = sin(2 * x);
    fr = asin(y) / 2;
    if ((x >= M_PI / 2 && x <= M_PI / 2) && (fabs(x - fabs(asin(y - 0.0001)) / 2) < 0.0001 || fabs(x - fabs(asin(y + 0.0001) / 2)) < 0.0001)) cout << "ON BORDER" << endl;
    else if (fx + 0.0001 < y || x<-0.0001 || y<-0.0001 || x > M_PI / 2 + 0.0001 || y > 1 + 0.0001) cout << "NO" << endl;
    else if ((x >= 0 && x <= M_PI / 2) && (fabs(y) < 0.0001 || fabs(y - fx) < 0.0001)) cout << "ON BORDER" << endl;
    else if (fabs(fx - y) < 0.0001 || fabs(fr - x) < 0.0001) cout << "ON BORDER" << endl;
    else cout << "YES" << endl;
    return 0;
}
11 тестов не проходит... подскажите пожалуйста что-нибудь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2013, 00:40     Принадлежность точки к заданой плоскости
Посмотрите здесь:

C++ Принадлежность точки к отрезку.
принадлежность точки к кольцу C++
принадлежность точки прямоугольнику C++
C++ Принадлежность точки к заданной плоскости
Принадлежность точки N-угольнику. C++
принадлежность точки C++
Принадлежность точки отрезку C++
C++ Принадлежность точки к фигуре
Принадлежность точки рисунку C++
C++ Принадлежность точки прямоугольнику
Проверить принадлежность точки к плоскости C++
Принадлежность точки повернутому прямоугольнику C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4876 / 3015 / 370
Регистрация: 10.11.2010
Сообщений: 11,075
Записей в блоге: 10
Завершенные тесты: 1
27.04.2013, 00:50     Принадлежность точки к заданой плоскости #2
Вообще-то эта задача с сайта на проверку своих собственных способностей.
Ты хочешь подняться в рейтинге за счет кого-то другого?
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
27.04.2013, 00:57  [ТС]     Принадлежность точки к заданой плоскости #3
Цитата Сообщение от lazybiz Посмотреть сообщение
на проверку своих собственных способностей
не всегда
IrineK
Заблокирован
27.04.2013, 04:09     Принадлежность точки к заданой плоскости #4
Первое, что можно заметить: в задаче ограничение пятого порядка, а в вашем исходнике - четвертого.
Yandex
Объявления
27.04.2013, 04:09     Принадлежность точки к заданой плоскости
Ответ Создать тему
Опции темы

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