Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
semen67sml
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 9
1

Фигуры, которые разбивают плоскость на области

23.04.2013, 19:00. Просмотров 432. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Суть:
Даны фигуры, которые разбивают плоскость на области: трапеция с
вершинами в точках: (0.5 , 0.5), (0.5 , 2.5), (4.5 , 2.5), (2.5 , 0.5), окружность с
центром в точке (2,2) и радиусом r=1, и парабола с вершиной в точке (2,2),
пересекающая ось Ox в точках (0,0) и (4,0). Составить алгоритм, который
определяет, в какую из имеющихся на плоскости областей попадает точка с
заданными координатами (x,y) и выводом соответствующего сообщения.

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <locale.h>
using namespace std;
 
/*
    Функция проверяет, находится ли точка с координатами (x,y)
    внутри параболы (true) или снаружи параболы (false)
*/
bool InParabola(double x, double y)
{
  return ((y + 0.5 * x * x - 2.0 * x) <= 0) ? true : false;
}
/*
    Функция проверяет, находится ли точка с координатами (x,y)
    внутри окружности (true) или снаружи окружности (false)
*/
bool InCircle(double x, double y)
{
  return (((x - 2.0)*(x - 2.0) +
(y - 2.0)*(y - 2.0)) <= 1.0) ? true : false;
}
/*
    Функция проверяет, находится ли точка с координатами (x,y)
    внутри трапеции (true) или снаружи трапеции (false)
*/
bool InTrapezium(double x, double y)
{
  return (y <= 2.5 && y >= 0.5 &&
x >= 0.5 && (x - y) <= 2.0) ? true : false;
}
/*
    Функция проверяет, какой области принадлежит точка
с координатами (x,y) и возвращает номер области от 1 до 8
*/
int CheckArea(double x, double y)
{
  bool bCircle = InCircle(x,y);
  bool bParabola = InParabola(x,y);
  bool bTrapezium = InTrapezium(x,y);
  if(bCircle == true && bParabola == true &&
     bTrapezium == true) return 1;
  else if(bCircle == true && bParabola == false &&
          bTrapezium == true) return 2;
  else if(bCircle == false && bParabola == false &&
          bTrapezium == true && x > 2.0) return 3;
  else if(bCircle == false && bParabola == false &&
          bTrapezium == true && x < 2.0) return 4;
  else if(bCircle == false && bParabola == true &&
          bTrapezium == true) return 5;
  else if(bCircle == false && bParabola == true &&
          bTrapezium == false) return 6;
  else if(bCircle == true && bParabola == false &&
          bTrapezium == false) return 7;
  return 8;
}
/*
    Главная функция. Реализует интерфейс с пользователем.
*/
void main(void)
{
  char ch;
  double x,y;
  do
  {
cout << "\nEntry X: ";
cin >> x;
    if(cin.fail())
    {
       cin.clear();
       cout << “Incorrect X-value”;    
    }
    else
{ cout << "\nEntry Y: ";
cin >> y;
       if(cin.fail())
       {
       cin.clear();
          cout << “Incorrect Y-value”;
       }
       else
       {
cout << "\nPoint is placed in area: " << CheckArea(x,y);
       }
    }
    cin.sync();
cout << "\nDo you want to entry a new point [Y/N]?";
cin.get(ch);
  }
  while((ch == ‘Y’) || (ch == ‘y’));
}
Выдает ошибку, что идентификатор "Incorrect" не определен, и, что после X и Y требуется ";"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 19:00
Ответы с готовыми решениями:

Определить поля(отметить символом +), на которые может пойти первая фигура, не попав под удар второй фигуры
Шахматную доску будем представлять в виде квадратного символьного массива...

Дан набор прямых линий на плоскости. Найти количество областей, на которые они разбивают плоскость
Здравствуйте уважаемые форумчане. Помогите пожалуйста с задачкой: Дан набор...

Прямые разбивают плоскость на полосы
Прямые разбивают плоскость на полосы ширины 7. Определить вероятность того, что...

Проекция объёмной фигуры на плоскость
Доброго всем времени суток! Столкнулся тут с оной интересной проблемой. Может...

Проецирование трехмерной фигуры на плоскость
Есть трехмерная фигура, точнее координаты ее точек(x,y,z). Нужна формула,...

6
Байт
Эксперт C
18319 / 12029 / 2507
Регистрация: 24.12.2010
Сообщений: 24,293
23.04.2013, 19:14 2
Странные какие-то кавычки в строках 71, 79. И не подсвечивается красным как положено константе...
0
semen67sml
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 9
23.04.2013, 20:17  [ТС] 3
огромное спасибо, почему то в таких случаях появляются глобальные мысли, а посмотреть на банальное не получается))
0
Байт
Эксперт C
18319 / 12029 / 2507
Регистрация: 24.12.2010
Сообщений: 24,293
23.04.2013, 20:34 4
Цитата Сообщение от semen67sml Посмотреть сообщение
посмотреть на банальное
А в чем дело то было? Просто любопытно. Кавычки не той кодировки? Или чего?
0
semen67sml
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 9
23.04.2013, 20:53  [ТС] 5
да, не те кавычки, и он не знал, что с ними делать
0
Байт
Эксперт C
18319 / 12029 / 2507
Регистрация: 24.12.2010
Сообщений: 24,293
23.04.2013, 21:52 6
Маленькое замечание.
Цитата Сообщение от semen67sml Посмотреть сообщение
Суть: Даны фигуры, которые...
В данном случае до Сути вы еще не добрались. Пока компилятор выдает синтаксические ошибки, о сути не может быть никакой речи. Суть начинается тогда, когда программа скомпилировалась, работает как-то, но чуток не так, как вы этого ожидаете.
Это так, на будущее
0
semen67sml
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 9
23.04.2013, 23:31  [ТС] 7
Цитата Сообщение от Байт Посмотреть сообщение
Это так, на будущее
Спасибо, учту)) сессия приперла, приходится начинать постигать азы С++, ничего не понимаю, делаю все методом "тыка"=)
0
23.04.2013, 23:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 23:31

Построить две фигуры и найти плоскость их пересечения
Всем привет! Нужно построить две фигуры объемных и найти их плоскость...

Плоскость xOy разделена на четыре области
Плоскость xOy разделена на четыре области, обозначенные буквами A, B, C, D....

Как из области background image создать плоскость?
Здравствуйте. На backgorund две произвольных области. Допустим зелёная и...


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

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

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