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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
#1

Задача с оператором if - C++

10.11.2011, 01:01. Просмотров 1464. Ответов 7
Метки нет (Все метки)

Определить, могут ли три точки с координатами (x1, y1), (x2, y2), (x3, y3) являться вершинами треугольника. использовать условный оператор if.

Добавлено через 1 час 1 минуту
.....
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
10.11.2011, 02:17     Задача с оператором if #2
Насколько я помню курс школьной геометрии, треугольник существует для любых трех точек.
Так что решение простое:
C++
1
2
3
bool isATriangle(int x1, int y1, int x2, int y2, int x3, int y3) {
  return true;
}
Если только нет еще каких-то не озвученных условий.
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.11.2011, 02:22     Задача с оператором if #3
lemegeton, а если все 3 точки на одной прямой?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.11.2011, 02:25     Задача с оператором if #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Код
 A(x1, y1), B(x2, y2), C(x3, y3)
 точки не образуют треугольник, когда у него нулевая площадь
 точки образуют треугольник с нулевой площадью,
 когда они лежат на одной прямой

 точки принадлежат одной прямой,
 если соблюдается следующее условие:
 
 | x1  y1  1 |
 | x2  y2  1 | = 0
 | x3  y3  1 |
 
 | x1 - x2  y1 - y2  0 |
 | x2 - x3  y2 - y3  0 | = 0
 |      x3       y3  1 |
 
 | x1 - x2  y1 - y2 |
 | x2 - x3  y2 - y3 | = 0
 
 (x1 - x2) * (y2 - y3) - (y1 - y2) * (x2 - x3) = 0
 
 псевдокод:
 v = (x1 - x2) * (y2 - y3) - (y1 - y2) * (x2 - x3);
 if (v != 0)
     print(точки образуют треугольник)
 else
     print(точки не образуют треугольник)
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
10.11.2011, 07:25     Задача с оператором if #5
Цитата Сообщение от Jupiter Посмотреть сообщение
lemegeton, а если все 3 точки на одной прямой?
Треугольник с нулевой высотой. Даже если точки совпадают, треугольник получится с нулевыми длинами диагоналей.
Байт
Эксперт C
 Аватар для Байт
15088 / 9490 / 1394
Регистрация: 24.12.2010
Сообщений: 17,579
10.11.2011, 13:14     Задача с оператором if #6
Цитата Сообщение от lemegeton Посмотреть сообщение
треугольник получится с нулевыми длинами диагоналей.
Если мне расскажут, что такое диагональ треугольника, буду премного благодарен
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.11.2011, 01:21     Задача с оператором if #7
Оговорка. Имелись в виду стороны треугольника.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2011, 02:15     Задача с оператором if
Еще ссылки по теме:

Ошибка с оператором switch C++
C++ decltype с тернарным оператором
Работа с оператором for C++
C++ задача с оператором цикла for
Задача с оператором switch: юзер вводит значение температуры и видит на экране совет о том как одеться C++

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
11.11.2011, 02:15     Задача с оператором if #8
Треугольник с двумя совпавшими вершинами называется вырожденым, с тремя - дважды вырожденым. Думаю речь в задании идет именно о невырожденных треугольниках, поэтому реторн тру здесь не катит.
Yandex
Объявления
11.11.2011, 02:15     Задача с оператором if
Ответ Создать тему
Опции темы

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