2 / 2 / 1
Регистрация: 10.01.2017
Сообщений: 34
1

Определить, принадлежит ли заданная точка заштрихованной части плоскости

11.01.2017, 11:05. Показов 1876. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
для заданной области составить такую программу которая печатает true, если точка с координатами (x,y) принадлежит закрашенной области, и false в противном случае
Название: Безымянный1.png
Просмотров: 59

Размер: 101.3 Кб
Миниатюры
Определить, принадлежит ли заданная точка заштрихованной части плоскости  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2017, 11:05
Ответы с готовыми решениями:

Определить, принадлежит ли заданная точка заштрихованной части плоскости
Определить, принадлежит ли заданная точка заштрихованной части плоскости. Вывести YES или NO. (рис...

Определить принадлежит ли точка заштрихованной части плоскости
Даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x;y) заштрихованной...

Определить принадлежит ли точка заштрихованной части плоскости
Даны вещественные числа x, y. Определить принадлежит ли точка с координатами (x,y) заштрихованной...

Определить, принадлежит ли точка заштрихованной части плоскости
Даны действительные числа x, y. Определить, принадлежит ли точка с координатами (x, y)...

9
146 / 27 / 13
Регистрация: 21.09.2015
Сообщений: 62
11.01.2017, 14:00 2
Вроде, правильно
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
#include <iostream>
 
inline bool inCircle(double x, double y)
{
    return ((x - 2)*(x - 2) + (y - 2)*(y - 2) <= 4 && !(x > 1 && x < 2 && y > 0 && y < 2) && !(x > 0 && x < 1 && y > 1 && y < 2));
}
 
inline bool inSquare(double x, double y)
{
    return (x >= -2 && x <= 0 && y >= 0 && y <= 2) && !(x > -1 && x < 0 && y > 0 && y < 1);
}
 
inline bool inTriangle(double x, double y)
{
    return y <= 0 && y >= abs(x) - 1;
}
 
int main()
{
    double x, y;
    do
    {
        std::cout << "Input x and y : ";
        std::cin >> x >> y;
        std::cout << std::boolalpha << (inCircle(x, y) || inSquare(x, y) || inTriangle(x, y)) ? true : false; 
        std::cout << std::endl;
    } while (true);
 
    return 0;
}
0
2 / 2 / 1
Регистрация: 10.01.2017
Сообщений: 34
11.01.2017, 19:12  [ТС] 3
а можно еще варианты, а то я не понял это, ведь я новичок в программирование)
0
146 / 27 / 13
Регистрация: 21.09.2015
Сообщений: 62
11.01.2017, 19:42 4
Navichok1, Опишите конкретно, что Вам неясно и мы попытаемся разобраться
0
2 / 2 / 1
Регистрация: 10.01.2017
Сообщений: 34
11.01.2017, 20:02  [ТС] 5
1)почему с 3 до 16 не в int main(){ }?
мы это еще не пошли.
2) что значит inline bool?
3) почему return используется много раз?
4) что значит в 25 -( ? ) и ( boolalpha )?
5) и можно ли решить это с цыклом for?
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
12.01.2017, 11:29 6
1) Потому что inCircle, inSquare, inTriangle - это отдельные функции.
2) bool - тип возвращаемого значения. inline можно вообще убрать, на работу программы это не повлияет.
3) см. пункт 1)
4) Знак вопроса - тернарный оператор. boolalpha используется для вывода логического значения в виде слов true или false.
5) Цикл for? А зачем?

Добавлено через 8 минут
Вот версия без функций, без тернарного оператора и с циклом for
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cmath>
 
int main()
{
    double x, y;
    for (;;)
    {
        std::cout << "Input x and y : ";
        std::cin >> x >> y;
        bool inCircle = ((x - 2)*(x - 2) + (y - 2)*(y - 2) <= 4 && !(x > 1 && x < 2 && y > 0 && y < 2) && !(x > 0 && x < 1 && y > 1 && y < 2));
        bool inSquare = (x >= -2 && x <= 0 && y >= 0 && y <= 2) && !(x > -1 && x < 0 && y > 0 && y < 1);
        bool inTriangle = y <= 0 && y >= std::abs(x) - 1;
        if (inCircle || inSquare || inTriangle)  std::cout << "true";
        else                                     std::cout << "false";
        std::cout << std::endl;
    }
 
    return 0;
}
Для выхода из программы нажать Ctrl-C.
1
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
12.01.2017, 12:23 7
Цитата Сообщение от likehood Посмотреть сообщение
if () std::cout << "true";
else std::cout << "false";
тихий ужас
C++
1
std::cout << std::boolalpha << (inCircle || inSquare || inTriangle) << std::endl;
1
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
12.01.2017, 12:53 8
Цитата Сообщение от MrGluck Посмотреть сообщение
тихий ужас
Можно конечно сразу выносить смертный приговор.
А можно быть чуточку тактичнее и не рубить с плеча.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
12.01.2017, 12:58 9
Цитата Сообщение от likehood Посмотреть сообщение
не рубить с плеча.
К остальному коду замечаний нет.
Вы не приветствуете критику?
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
12.01.2017, 13:07 10
Цитата Сообщение от MrGluck Посмотреть сообщение
Вы не приветствуете критику?
Я за взаимовежливое общение. А к критике я отношусь положительно.

Добавлено через 3 минуты
А вообще, я специально убрал boolalpha, поскольку ТС сообщил, что функции они не проходили, подозреваю что и boolalpha тоже.
0
12.01.2017, 13:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2017, 13:07
Помогаю со студенческими работами здесь

Определить принадлежит ли точка заштрихованной части плоскости
Ребята, помогите, пожалуйста! даны вещественные числа x и y. определить принадлежит ли точка с...

Определить принадлежит ли точка заштрихованной части плоскости
Даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x,y) заштрихованной...

Определить, принадлежит ли точка c координатами (х,у) заштрихованной части плоскости
1) 2) 3) 4)

Определить, принадлежит ли точка с координатами х, у заштрихованной части плоскости
Нужно определить, принадлежит ли точка с координатами х, у заштрихованной части плоскости: Вот...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru