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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
hotkep
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 21
#1

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

23.02.2012, 00:20. Просмотров 2656. Ответов 8
Метки нет (Все метки)

создать программу, которая проверяет принадлежность точки заштрихованной области. помогите кому не трудно.
[IMG]http://s018.***********/i512/1202/d5/82b2190b05ec.png[/IMG]
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 00:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Принадлежность точки заштрихованной области (C++):

Принадлежность точки заштрихованной области - C++
Необходимо составить программу, которая печатает true, если точка с координатами (х,у) принадлежит заштрихованной области, и false в...

Принадлежность точки заштрихованной области - C++
Составить программу, которая печатает сообщение о принадлежности, если точка с координатами (x, y) принадлежит или не принадлежит...

Определить принадлежность точки заштрихованной области - C++
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщ ений «Да», «Нет», «На границе» в...

Определить принадлежность точки заштрихованной области - C++
По заданным координатам точки определить, где находится точка: 1) внутри заштрихованной области; 2) вне заштрихованной области; 3) на...

Принадлежность точки с заданными координатами заштрихованной области - C++
задание: Разработать программу на языке С++. Даны вещественные числа x и y. Определить, принадлежит ли точка с координатами (x;y)...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mikola-BLR
47 / 47 / 7
Регистрация: 27.12.2011
Сообщений: 65
23.02.2012, 01:56 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Чёрный 4-х угольник ограничен 4-мя прямыми.
Запишем их уравнения.
Левая грань: у=-3х+6 . Чтобы точка попадала в нашу фигуру, она должна лежать правее левой грани, т.е. должно выполняться условие: у+3х>=6
Нижняя грань: у=-0.4х+3.4 . Чтобы точка попадала в нашу фигуру, она должна лежать выше нижней грани, т.е. должно выполняться условие: у+0.4х>=3.4
Правая грань: у=6х-35 . Чтобы точка попадала в нашу фигуру, она должна лежать левее правой грани, т.е. должно выполняться условие: у-6х>=-35
Верхняя грань: у=х/7+6 . Чтобы точка попадала в нашу фигуру, она должна лежать ниже верхней грани, т.е. должно выполняться условие: у-х/7<=6
Уравнение окружности: (х-3.5)^2 + (y-2.5)^2 = 1.5^2 . Чтобы точка не попадала в неё, она должна лежать снаружи окружности, т.е. должно выполняться условие: (х-3.5)(х-3.5)+(у-2.5)(у-2.5)>=2.25
В итоге имеем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"rus");//чтобы русский алфавит не выводился в консоль кракозябрами
    float x, y;
    cout << "Введите X: "; cin >> x;
    cout << "Введите Y: "; cin >> y;
 
    if ((y+3*x)>=6 and//левая грань
        (y+0.4*x)>=3.4 and//нижняя грань
        (y-6*x)>=-35 and//правая грань
        (y-x/7)<=6 and//верхняя грань
        ((x-3.5)*(x-3.5) + (y-2.5)*(y-2.5))>=2.25)//окружность
        cout << "Точка принадлежит заданной области.";
        else cout << "Точка не принадлежит заданной области.";
    return 0;
}
hotkep
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 21
23.02.2012, 02:09  [ТС] #3
Благодарю Вас!

Добавлено через 9 минут
Только у меня много ошибок. Компилятор маты гнет)
что-то исправил. но не помогает.
Принадлежность точки заштрихованной области
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
23.02.2012, 02:43 #4
Mikola-BLR, Переделал ваш код! В С++ нет and!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"rus");//чтобы русский алфавит не выводился в консоль кракозябрами
    float x, y;
    cout << "Введите X: "; cin >> x;
    cout << "Введите Y: "; cin >> y;
 
    if ((y+3*x)>=6 &&//левая грань
        (y+0.4*x)>=3.4 &&//нижняя грань
        (y-6*x)>=-35 &&//правая грань
        (y-x/7)<=6 &&//верхняя грань
        ((x-3.5)*(x-3.5) + (y-2.5)*(y-2.5))>=2.25)//окружность
        cout << "Точка принадлежит заданной области.";
        else cout << "Точка не принадлежит заданной области.";
        system("pause >> null");
    return 0;
}
hotkep
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 21
23.02.2012, 03:29  [ТС] #5
Спасибо!
gustav21
20 / 20 / 2
Регистрация: 23.10.2009
Сообщений: 139
24.02.2012, 07:38 #6
Если это задание в институте, то с помощью уравнений, наверное, правильнее будет, а вообще можно с помощью полигонов сделать, будет меньше кода
hotkep
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 21
24.02.2012, 13:57  [ТС] #7
а код больше будет?
Mikola-BLR
47 / 47 / 7
Регистрация: 27.12.2011
Сообщений: 65
25.02.2012, 02:27 #8
В С++ нет and!
Странно. В Code::Blocks компилировал вышеприведенный мной файл в формате .cpp с использованием оператора and, всё работало.
Проверил и в Bloodshed Dev-C++ - работают операторы and и or наравне с && и ||
Хотя, соглашусь, использовать их некошерно, т.к. в стандартах они не описаны. Везде приведены && и ||. Да и сам их обычно использую.
Ещё ради интереса в Вижуал Студии 2010 можно проверить, но пока руки не доходят установить (ибо последний раз, помню, сие действо заняло много времени).
thick_int
Заблокирован
25.02.2012, 05:08 #9
В Visual Studio 2010 эта фича работает.
Надо только добавить вот такую директиву
C++
1
#include <iso646.h>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2012, 05:08
Привет! Вот еще темы с ответами:

Принадлежность точки заданной области - C++
Дан график с некоторыми частями фигур. Треугольник и часть квадрата (исключена четверть круга), на рисунке заштрихованы серым цветом ...

Принадлежность точки к заштрихованой области - C++
#include &lt;iostream&gt; using namespace std; void main () { double x,y; cout&lt;&lt;&quot;input x: &quot;; cin&gt;&gt;x; cout&lt;&lt;&quot;input y:...

Проверить принадлежность точки области - C++
Помогите создать программу, которая проверяет принадлежность точки которая залита зеленым цветом области http://*************/s/iUNu3J

Определить принадлежность точки заданной области - C++
Всем привет! Помогите пожалуйста с программой, задание ниже. Ребят напишите её не сложными командами, только начал проходить с++ и многого...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.02.2012, 05:08
Ответ Создать тему
Опции темы

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