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

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

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

Точки на плоскости. - C++

18.02.2012, 17:43. Просмотров 1184. Ответов 2
Метки нет (Все метки)

Заданы три точки на плоскости: M с координатами (x1,y1), L с координатами (x2,y2) и H с координатами (x3,y3). Определите, лежат ли они на одной прямой. При отрицательном ответе найти площадь и периметр треугольника MLH.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2012, 17:43     Точки на плоскости.
Посмотрите здесь:

точки на плоскости - C++
очень срочно нужно задачки для зачета(С#)... Задача1: Найти такую точку заданного на плоскости множества точек,сумма расстояний от...

Точки на плоскости - C++
Заданы две точки на плоскости. Определить лежат ли они одновременно на осях координат.

Точки на плоскости - C++
Здравствуйте, как зная координаты четырех точек определить расположены они на одной плоскости или нет?

Координаты точки на плоскости - C++
Помогите пожалуйста с задачей Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0....

структура точки в плоскости - C++
создать структуру для работы с точками на плоскости. необходимо определить следующее 1)создать точку по координатам 2)вывод точки в...

Определение точки в плоскости - C++
Даны две точки на плоскости. Определить «самую левую», «самую правую», «самую верхнюю», «самую нижнюю».

Принадлежность точки к заданной плоскости - C++
Определите, принадлежит ли точка A, заданная координатами (x0; y0), части плоскости, ограниченной отрезком оси абсцисс от 0 до и...

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

Найти близколежащие точки на плоскости - C++
Уважаемые программисты, прошу помощи с такой задачей: Имеется файл "test.search.txt". В нём разнообразные данные наблюдений, которые...

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

Попадание точки в фигуру на плоскости - C++
Мой друг, поступил в ВУЗ на программиста, и вот им дали, им лабу, и он попросил меня помочь, эта задача на первом курсе, после первой...

Лежат ли точки в одной плоскости? - C++
На плоскости XOY даны три точки A(x1, y1), B(x2, y2), C(x3, y3). Выяснить, лежат ли они в одной и той же координатной четверти


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
18.02.2012, 20:15     Точки на плоскости. #2
Цитата Сообщение от ruporing Посмотреть сообщение
Заданы три точки на плоскости: M с координатами (x1,y1), L с координатами (x2,y2) и H с координатами (x3,y3). Определите, лежат ли они на одной прямой. При отрицательном ответе найти площадь и периметр треугольника MLH.
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
   const int n = 3;
   double x[n], y[n], det = 0.0;
 
   for (int i = 0; i < n; i++)
   {
      cout << "x" << i+1 << ":";
      cin >> x[i];
      cout << "y" << i+1 << ":";
      cin >> y[i];
   }
 
   det = x[0] * y[1] - x[0] * y[2] -
         y[0] * x[1] + y[0] * x[2] +
         x[1] * y[2] - y[1] * x[2];
 
   if (det != 0)
   {
      double S, p, a, b, c;
      a = sqrt(pow(y[1]-y[0],2.0) + pow(x[1]-x[0], 2.0));
      b = sqrt(pow(y[2]-y[1],2.0) + pow(x[2]-x[1], 2.0));
      c = sqrt(pow(y[0]-y[2],2.0) + pow(x[0]-x[2], 2.0));
 
      S = fabs((x[1]-x[0]) * (y[2]-y[0]) - (x[2]-x[0]) * (y[1]-y[0])) / 2.0;
      p = a + b + c;
 
      cout << "Plowad' treugol'nika: " << S << endl;
      cout << "Perimetr treugol'nika:" << p << endl;
   }
   else
   {
      cout << "Tochki lezhat na odnoj prjamoj." << endl;
   }
 
   return 0;
}
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.02.2012, 20:25     Точки на плоскости. #3
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>
#include <cmath>
////////////////////////////////////////////////////////////////////////////////
template <class T>
T sqr(const T& num)
{
    return num * num;
}
////////////////////////////////////////////////////////////////////////////////
struct Point
{
    double x;
    double y;
};
////////////////////////////////////////////////////////////////////////////////
std::istream& operator >> (std::istream& stream, Point& p)
{
    stream >> p.x >> p.y;
    return stream;
}
////////////////////////////////////////////////////////////////////////////////
double distance(const Point& p1, const Point& p2)
{
    return std::sqrt(sqr(p1.x - p2.x) + sqr(p1.y - p2.y));
}
////////////////////////////////////////////////////////////////////////////////
class Triangle
{
    Point _p1, _p2, _p3;
    double _a, _b, _c;
////////////////////////////////////////////////////////////////////////////////
public:
    Triangle(const Point& p1, const Point& p2, const Point& p3):
        _p1(p1), _p2(p2), _p3(p3),
        _a(distance(p1, p2)), _b(distance(p2, p3)), _c(distance(p3, p1))
    {
        
    }
    ////////////////////////////////////////////////////////////////////////////
    const double square() const
    {
        double p = (_a + _b + _c) / 2.;
        return std::sqrt(p * (p - _a) * (p - _b) * (p - _c));
    }
    ////////////////////////////////////////////////////////////////////////////
};
////////////////////////////////////////////////////////////////////////////////
int main()
{
    Point   p1,
            p2,
            p3;
 
    std::cin    >>  p1  >>  p2  >>  p3;
 
    Triangle    t(p1, p2, p3);
 
    std::cout   <<  t.square() << std::endl;
    
    return 0;
}
Отловите случай, когда square = 0
Ответ Создать тему
Опции темы

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