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

Максимальный периметр - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, является ли введенный символ числом http://www.cyberforum.ru/cpp-beginners/thread828202.html
Написать программу, которая вводит один символ с клавиатуры и выводит сообщение, является ли введенный символ числом (Коды числовых символов – от 48 до 57). Заранее очень благодарен!
C++ Оптимизация полного перебора Пусть требуется подобрать пин-код длиной 4 символа (может содержать как цифры и буквы, так и другие символы). Использую метод полного перебора: ааа ааб ... яяя Как оптимизировать... http://www.cyberforum.ru/cpp-beginners/thread828201.html
C++ Самое длинное слово
Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите это слово и его длину. Формат входных данных Задана одна строка, содержащая пробелы. Слова разделены ровно одним...
C++ Второклассная задача
У второклассников очень популярна следующая задача: 101=1 8181515=4 1111112=0 8888888=14
C++ Делаем срезы http://www.cyberforum.ru/cpp-beginners/thread828191.html
Дана строка. Сначала выведите третий символ этой строки. Во второй строке выведите предпоследний символ этой строки. В третьей строке выведите первые пять символов этой строки. В...
C++ одномерные массивы (Найдите 6-ой член последовательности) Найдите 6-ой член последовательности A(i)=A(i-1)*A(i-1)+1 , если А(1)=5. подробнее

Показать сообщение отдельно
IrineK
Заблокирован
06.04.2013, 00:52
salam, в этой задаче говорим не о сторонах, а о точках.

Для точек условие существования треугольника - не находиться на одной прямой и не совпадать. Функцию я уже запостила. Она построена на требовании равенства нулю определителя, который включает только int, что хорошо )

Для сторон double треугольника, заданного точками int, если вы их считаете в самой проге, вас могут ждать неприятные сюрпризы. Казалось бы, проверочная функция (каждая сторона должна быть больше суммы двух других):
C++
1
2
3
inline bool triangleExists(double a[])
{   return (a[0]+a[1]>a[2]) && (a[1]+a[2]>a[0]) && (a[2]+a[0]>a[1]);
}
но в силу особенностей double вы получите ответ, что треугольник со сторонами, например: sqrt(2), 3*sqrt(2), 4*sqrt(2) - существует.

Если стороны double вводятся вручную, то проблемы быть не должно (мы редко вводим что-то с точностью большей чем 6 знаков после запятой), а вот если они определяются по ходу - жди сюрпризов.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru