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

Определить, лежит ли точка внутри заштрихованной области - C++

Восстановить пароль Регистрация
 
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 338
19.03.2014, 22:25     Определить, лежит ли точка внутри заштрихованной области #1
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе.
График

Помогите с кодом...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 22:25     Определить, лежит ли точка внутри заштрихованной области
Посмотрите здесь:

C++ Определить, лежит точка внутри заштрихованной области, вне её или на её границе
C++ Определить, лежит ли точка внутри заштрихованной области
C++ Определить, принадлежит ли точка заштрихованной области
Определить лежит ли точка внутри заданного прямоугольника C++
C++ Определить, принадлежит ли точка заштрихованной области
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 338
19.03.2014, 23:25  [ТС]     Определить, лежит ли точка внутри заштрихованной области #2
Добавил изображение
Изображения
 
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
19.03.2014, 23:56     Определить, лежит ли точка внутри заштрихованной области #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
using namespace std;  
 
void main()
{
    double x,y;
    double dlina_vectora;
    cout<<"vvedite korfinaty x\nx=";
    cin>>x;
    cout<<"vvedite korfinaty y\ny=";
    cin>>y;
    dlina_vectora=pow(pow(x,2.)+pow(y,2.),1./2);
    if(x<=0)
    {
        if(dlina_vectora>3&&dlina_vectora<8) cout <<"da\n";
        else if(dlina_vectora==3||dlina_vectora==8) cout <<"na granitce\n";
    }
    else cout <<"net\n";
        system("pause");
}
все точки области имеют отрицательные или нулевые координаты х то проверяем условие чтобы х был меньше либо равен нулю, программа считает длину вектора начало которого в точке (0,0) а конец в точке (х,у) если длина этого вектора меньше чем радиус большого круга и больше чем радиус малого круга то точка лежит внутри области, если длина вектора равна радиусу малого или большого круга - то на границе, в остальных случаях точка лежит вне области
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 338
20.03.2014, 00:50  [ТС]     Определить, лежит ли точка внутри заштрихованной области #4
Я сам додумался... У меня конечно вариант по другому будет построен, но в теории он должен правильно работать. Завтра соберу и ваш вариант более подробнее расмотрю. Спасибо.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
20.03.2014, 01:01     Определить, лежит ли точка внутри заштрихованной области #5
kiborgdelto,
третий вариант не описал когда x<0 а вектор или больше 8 или меньше 3
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
20.03.2014, 01:07     Определить, лежит ли точка внутри заштрихованной области #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ValeryS Посмотреть сообщение
третий вариант не описал когда x<0 а вектор или больше 8 или меньше 3
тьфу ты блин, изначально забыл об условии x<0, а когда правил не добавил условие на больше 8 или меньше 3

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <math.h>
using namespace std;  
 
void main()
{
    double x,y;
    double dlina_vectora;
    cout<<"vvedite korfinaty x\nx=";
    cin>>x;
    cout<<"vvedite korfinaty y\ny=";
    cin>>y;
    dlina_vectora=pow(pow(x,2.)+pow(y,2.),1./2);
    if(x<=0&&dlina_vectora>3&&dlina_vectora<8) cout <<"da\n";
        else if(x<=0&&(dlina_vectora==3||dlina_vectora==8)) cout <<"na granitce\n";
        else cout <<"net\n";
        system("pause");
}
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
20.03.2014, 01:39     Определить, лежит ли точка внутри заштрихованной области #7
kiborgdelto,
еще одно
если x=0 |y|от 3 до 8 это тоже граница
разбей условия а то запутаешься в них
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 338
20.03.2014, 17:27  [ТС]     Определить, лежит ли точка внутри заштрихованной области #8
Цитата Сообщение от ValeryS Посмотреть сообщение
еще одно
если x=0 |y|от 3 до 8 это тоже граница
разбей условия а то запутаешься в них
Так у него срабатывает и говорит что они границе. Вроде как.
Спасибо за ваш вариант, с моим проблемы...

У меня такой вопрос: формула модуля вектора - pow(pow(x,2.)+pow(y,2.),1./2)
Что в ней делают точки и запятые?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 17:29     Определить, лежит ли точка внутри заштрихованной области
Еще ссылки по теме:

Лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе? C++
Определить принадлежит ли точка с координатами заштрихованной области C++
Определить лежит ли точка внутри, вне или на границе заштрихованной области C++

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
20.03.2014, 17:29     Определить, лежит ли точка внутри заштрихованной области #9
C++
1
dlina_vectora=sqrt(x*x+y*y);
Неужели так написать труднее?
Yandex
Объявления
20.03.2014, 17:29     Определить, лежит ли точка внутри заштрихованной области
Ответ Создать тему
Опции темы

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