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

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

Войти
Регистрация
Восстановить пароль
 
fdcastro
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 26
#1

Точки в системе координат. Visual Studio - C++

10.04.2013, 17:35. Просмотров 1046. Ответов 3
Метки нет (Все метки)

Нужно определить принадлежность этой области точки, координаты которой вводятся с клавиатуры.

Точки в системе координат. Visual Studio

Вот что-то похожее нашел, но там выбивает или только координаты точки на оси х или только на оси у...

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
#include <iostream>
using namespace std;
 
int main()
{
setlocale(0, "Russian");
double num;
int k,x,y;
 
cout << "Введите произвольное число x: \n"<< endl;
cin >> x;
cout << "Введите произвольное число y: \n"<< endl;
cin >> y;
if ((-2<=(x*x)) && ((x*x)<=2)) 
{
cout << "Это число на линии x:\n" << endl;
k = x;
} else 
if ((-1<=y) && (y<=2)) 
{
cout << "Это число на линии y:\n" << endl;
k = y;
} else 
{ 
cout << "Этого числа нету в данном графике.\n" << endl;
k = k;
}
 
cout << "Ответ = " << k << endl;
int test;
cin >> test;
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 17:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Точки в системе координат. Visual Studio (C++):

Определить месторасположение точки в декартовой системе координат - C++
Задана точка M с координатами (x,y). Определить месторасположение этой точки в декартовой системе координат (является ли эта точка...

Определить расположение заданной точки в декартовой системе координат - C++
Даны координаты точки x и y. Определить ее расположение в декартовой системе координат. Ввод 4 2 Вывод 1 Выходные данные -...

Определить месторасположение точки в декартовой системе координат (найдите ошибку) - C++
Задана точка M с координатами (x,y). Определить месторасположение этой точки в декартовой системе координат (является ли эта точка...

Программа, определяющая положение точки в декартовой и полярной системе координат - C++
помогите с кодом кто может,заранее благодарю. Задание: Разработайте структуры, определяющие положение точки в декартовой и полярной...

Составить логическое выражение для описания сложных областей точек в системе координат XY. Выявить принадлежность этой области точки - C++
Составить логическое выражение для описания сложных областей точек в системе координат XY. Выявить принадлежность этой области точки,...

Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ? - C++
скажите а где найти среду 2006 года? или можно использовать 2015 год?

3
stima
487 / 339 / 39
Регистрация: 22.03.2011
Сообщений: 1,084
Завершенные тесты: 2
10.04.2013, 18:30 #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
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
#include <iostream>
 
struct Point
  {
  int x, y;
  }
 
bool is_on_square(const Point& input, const Point *square_pnts)
  {
  return false;
  }
 
bool is_on_circle(const Point& input, const Point& center, int radius)
  {
  int l = (input.x - center.x) * (input.x - center.x) + (input.y - center.y) * (input.y - center.y);
  return l < radius * radius;
  }
 
bool is_on_triangle(const Point& input, const Point *tr_ps)
  {
  int d1 = (tr_ps[1].y - tr_ps[0].y) * (input.x - tr_ps[0].x) - (tr_ps[1].x - tr_ps[0].x) * (input.y - tr_ps[0].y); 
  int d2 = (tr_ps[2].y - tr_ps[1].y) * (input.x - tr_ps[1].x) - (tr_ps[2].x - tr_ps[1].x) * (input.y - tr_ps[1].y); 
  int d3 = (tr_ps[0].y - tr_ps[2].y) * (input.x - tr_ps[2].x) - (tr_ps[0].x - tr_ps[2].x) * (input.y - tr_ps[2].y);
 
  return  (d1 > 0 && d2 > 0 && d3 > 0) || (d1 < 0 && d2 < 0 && d3 < 0);
  }
 
int main()
  {
  Point input;
 
  Point square_pnts[] = { {0, 0}, {0, 2}, {2, 2}, {2, 0} };
 
  Point triangle_pm_pnts[] = { {0, 0}, {2, 0}, {-2, 0} };
  Point triangle_mp_pnts[] = { {0, 0}, {-2, 0}, {2, 0} };
 
  Point circle_pnt = {0, 0};
  int radius = 2;
  
  std::cout << "Enter the dot: " << std::endl;
  std::cin >> input.x >> input.y;
  
  bool ok = false;
 
  if (input.x == 0 && input.y == 0)
    ok = true;
  else if (input.x  > 0 && input.y > 0)
    ok = is_on_square(input, square_pnts);
  else if (input.x  > 0 && input.y < 0)
    ok = is_on_triangle(input, triangle_pm_pnts);
  else if (input.x < 0 && input.y < 0)
    ok = is_on_circle(input, circle_pnt, radius);
  else
    ok = is_on_triangle(input, triangle_mp_pnts);
 
  std::cout << "Point ";
  ok ? std::cout << " is " : std::cout << " isn't ";
  std::cout << " on figure" << std::endl;
 
  return 0;
  }
Для квадрата напишешь сам.
0
fdcastro
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 26
10.04.2013, 21:03  [ТС] #3
Ого! Вот это код)) Никак проще эту задачу не сделать? Не поверят, что я это написал))

Добавлено через 3 минуты
Я думаю, что за точность фигуры спрашивать не будут. Можно как-то написать просто от -2 до 2 по х, и -2 до 2 по у?
0
stima
487 / 339 / 39
Регистрация: 22.03.2011
Сообщений: 1,084
Завершенные тесты: 2
10.04.2013, 23:37 #4
Дам идею. Разбейте координатную систему на 4 части (хотя по сути она уже разбита). Эти части обозначим так:
1. ++ - где x и y положительны
2. +- - где х положителен и у отрицателен и т.д.

Каждой части принадлежит фигура. Определите в какую из частей попадает входящая точка. Вызовите функцию обрабатывающую условие: "принадлежит ли точка данной фигуре". Данные проверки это часть линейной алгебре, а не программирования и их легко можно найти.
0
10.04.2013, 23:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 23:37
Привет! Вот еще темы с ответами:

Visual Studio Team Foundation Serverl или Visual Studio Professional - C++
Visual Studio Team Foundation Server 2010 Кто пользовался Visual Studio Team Foundation Server 2010, и чем она отличаеться от Visual...

Какую среду программирования лучше выбрать для обучения языку C++ ? Visual Studio,Visual Basic или Visual C++? - C++
И напишите,чем рекомендуемая вами среда программирования лучше других? Насколько я понял из Википедии они все поддерживают язык...

Определить номер точки, через которую проходит окружность с центром в начале координат, внутрь которой попадают все оставшиеся точки. - C++
Имеется n точек на плоскости. Определить номер той, через которую проходит окружность с центром в начале координат, внутрь которой попадают...

Перемещение в системе координат - C++
День добрый! я в программировании на языке С++, новечек. изучаю самостоятельно обложившись книгами и интернетом. в решении...


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

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

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