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

Являются ли точки вершинами треугольника - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
колькосик
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 32
21.12.2011, 20:47     Являются ли точки вершинами треугольника #1
Помогите пожалуйста решить задачу в С++ с помощью функции =)
На входе заданы координаты трех точек. Напишите программу, которая проверяет, являются ли эти точки вершинами треугольника.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 20:47     Являются ли точки вершинами треугольника
Посмотрите здесь:

C++ Определить 3 точки, являющиеся вершинами треугольника, для которых разность точек вне е го и внутри является минимальной.
C++ заданы координаты трех точек. Напишите программу, которая проверяет, являются ли эти точки вершинами треугольника.
Являются ли точки вершинами прямоугольного треугольника C++
C++ Диагонали (Четыре точки являются вершинами параллелограмма. Определить длину диагоналей и найти координаты )
C++ Заданы координаты трех точек. Определить периметр треугольника, вершинами которого являются заданные точк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.12.2011, 21:31     Являются ли точки вершинами треугольника #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
#include <iostream>
#include <cmath>
 
typedef struct 
{
    float x, y;
} Point;
 
template <class T> T sqr(T a) { return a * a; }
 
float dist(Point a, Point b) { return sqrt(sqr(a.x - b.x) + sqr(a.y - b.y)); }
 
bool func(Point a, Point b, Point c)
{
    if(dist(a, b) + dist(a, c) <= dist(c, b))
        return 0;
    if(dist(a, b) + dist(c, b) <= dist(a, c))
        return 0;
    if(dist(c, b) + dist(c, a) <= dist(a, b))
        return 0;
    return 1;
}
 
int main()
{
    Point a, b, c;
    std::cin >> a.x >> a.y;
    std::cin >> b.x >> b.y;
    std::cin >> c.x >> c.y;
    std::cout << (func(a, b, c) ? "yes" : "no") << std::endl;
    return 0;
}
@Макси@
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
21.12.2011, 21:45     Являются ли точки вершинами треугольника #3
а можно вот эти строки объяснить или задать по легче??
C++
1
2
3
4
5
6
7
8
{
    Point a, b, c;
    std::cin >> a.x >> a.y;
    std::cin >> b.x >> b.y;
    std::cin >> c.x >> c.y;
    std::cout << (func(a, b, c) ? "yes" : "no") << std::endl;
    return 0;
}
Добавлено через 3 минуты
для чего пишется "a.x" "b.x"???
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.12.2011, 21:45     Являются ли точки вершинами треугольника #4
C++
1
2
3
4
5
6
Point a, b, c;//Создаются 3 объекта структуры Point
std::cin >> a.x >> a.y;//Вводятся данные для первого объекта
std::cin >> b.x >> b.y;//Вводятся данные для второго объекта
std::cin >> c.x >> c.y;//Вводятся данные для третьего объекта
std::cout << (func(a, b, c) ? "yes" : "no") << std::endl;//Проверка на возможность забацать из них треугольник.
return 0;
Советую протестировать, если есть входные - выходные данные.

Добавлено через 37 секунд
Цитата Сообщение от @Макси@ Посмотреть сообщение
для чего пишется "a.x" "b.x"???
Получаем доступ к переменной x/y объекта a/b/c.
@Макси@
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
21.12.2011, 21:49     Являются ли точки вершинами треугольника #5
Если не сложно! И если такое возможно! можно написать программу по легче?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
21.12.2011, 23:05     Являются ли точки вершинами треугольника #6
Цитата Сообщение от @Макси@ Посмотреть сообщение
можно написать программу по легче?
Ну можно 9-ую строку обойти, остальная уже и так до нельзя просто.

Добавлено через 1 минуту
C++
1
#define SQR(a) ((a)*(a))
mesomorph
Сообщений: n/a
15.11.2012, 19:08     Являются ли точки вершинами треугольника #7
помогите написать прогу на эту же задачу, только не в С++ а в Си (борланд)

Добавлено через 4 минуты
определить, могут ли три точки с координатами (x1, y1), (x2, y2), (x3, y3) являться вершинами треугольника
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,730
Записей в блоге: 3
15.11.2012, 19:12     Являются ли точки вершинами треугольника #8
Цитата Сообщение от колькосик Посмотреть сообщение
Помогите пожалуйста решить задачу в С++ с помощью функции =)
На входе заданы координаты трех точек. Напишите программу, которая проверяет, являются ли эти точки вершинами треугольника.
Дык, всегда же являются... Даже если все совпадают, так как точка и отрезок - треугольники. Либо уточните задачу либо напишите cout<<"Являются";

Не по теме:

Вспомнилась школьная шутка: в момент времени t=0 в окно влетели три мухи. Определить момент времени, когда они окажутся в одной плоскости. Мух считать материальными точками, сопротивлением воздуха пренебречь.

soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.11.2012, 19:51     Являются ли точки вершинами треугольника #9
IGPIGP, если это треугольник, то для него должна выполняться формула http://www.cyberforum.ru/cgi-bin/latex.cgi?S = {{a}^{2} \sin \beta \sin \gamma \over 2 \sin \alpha}
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,730
Записей в блоге: 3
15.11.2012, 21:51     Являются ли точки вершинами треугольника #10
Цитата Сообщение от soon Посмотреть сообщение
IGPIGP, если это треугольник, то для него должна выполняться формула http://www.cyberforum.ru/cgi-bin/latex.cgi?S = {{a}^{2} \sin \beta \sin \gamma \over 2 \sin \alpha}
soon, приведите хотя бы один случай когда три точки (хотя бы на плоскости) не могут быть вершинами треугольника, по какой-то причине.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.11.2012, 06:16     Являются ли точки вершинами треугольника #11
IGPIGP, они будут лежать на одной прямой. Треугольник будет считаться вырожденным. Формула выше для него выполняться не будет. Значит, это уже не треугольник.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,730
Записей в блоге: 3
16.11.2012, 11:20     Являются ли точки вершинами треугольника #12
Цитата Сообщение от soon Посмотреть сообщение
IGPIGP, они будут лежать на одной прямой. Треугольник будет считаться вырожденным. Формула выше для него выполняться не будет. Значит, это уже не треугольник.
Вот определения "какие треугольники" ожидаются и хочется. Программирование это же Прикладная математика? То есть нельзя рассчитывать, что координаты - целые числа. А если double, то и рассчитывать, что даже при клавиатурном вводе, пользователь не введёт штук 14 знаков после запятой тоже не серьёзно. Тогда и при уточнении "не вырожденных" задачка становится, вполне интересной и системозависимой. То есть хотелось бы и точности. Или я не прав?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 13:59     Являются ли точки вершинами треугольника
Еще ссылки по теме:

Если три точки могут быть вершинами разностороннего тупоугольного треугольника, вычислите его площадь C++
Если точки могут быть вершинами равностороннего треугольника, вычислить его площадь и длину высоты C++
C++ Определить, могут ли три точки с координатами являться вершинами треугольника

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.11.2012, 13:59     Являются ли точки вершинами треугольника #13
IGPIGP, я согласен с вами, что есть проблема "точности" - можно заюзать длинную арифметику. А вот с тем, что вырожденный треугольник остается треугольником, я бы поспорил, но это будет уже вне темы топика.
Yandex
Объявления
16.11.2012, 13:59     Являются ли точки вершинами треугольника
Ответ Создать тему
Опции темы

Текущее время: 08:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru