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

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

Войти
Регистрация
Восстановить пароль
 
Скуби
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 34
#1

Найти наибольшую из высот треугольника - C++

04.04.2013, 09:24. Просмотров 806. Ответов 2
Метки нет (Все метки)

Последние задачи семестра, помогите пожалуйста!!!
Функции, параметры функций
Определить три функции, выполняющие действия в соответствии с вариантом задания, по одной на каждый способ передачи параметров. Написать программу на С++, осуществляющую вызов этих функций несколько раз с различными параметрами.
1.1 Найти наибольшую из высот треугольника. Известны две стороны треугольника и угол между ними.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 09:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти наибольшую из высот треугольника (C++):

Найти ортоцентр (точка пересечения высот) треугольника - C++
Всем привет нужна помощь. Нужно найти ортоцентр(точка пересечения высот) треугольника. Даны координаты вершин.

Из заданных точек найти вершины треугольника, который будет иметь наибольшую площадь - C++
На плоскости даны 1000 точек. Найти треугольник, который будет иметь наибольшую площадь и вывести на экран и треугольник и точки....

сортировать по убыванию значения высот треугольника - C++
#include <iostream> #include <clocale> #include <conio.h> #include <cmath> using namespace std; int main() { int a, b, c, h1,...

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

Найдите точки пересечения высот и медиан треугольника - C++
Найдите точки пересечения высот и медиан треугольника, вершины которого расположены в точках (x1, y1), (x2, y2) и (x3, y3).

Упростить код вычисления трёх высот треугольника по трём сторонам - C++
Здравствуйте! Имеется код вычисления трёх высот треугольника по трём сторонам. Можно ли упростить его использовав одну функцию общую...

2
abit
271 / 270 / 35
Регистрация: 03.02.2013
Сообщений: 761
10.04.2013, 17:47 #2
Найти наибольшую из высот треугольника. Известны две стороны треугольника и угол между ними.
я точно уже не помню всю геометрию, но мне на ум пришёл следующий способ (не уверен, что он оптимален)

1) найти третью сторону из теоремы косинусов:
с = sqrt(a^2+b^2-2*a*b*cos(Uab))

2)сравнить все три длины a,b,c на предмет какая из них меньше, на неё и опустится самая длинная высота
m = min(min(a,b),c);

3)зарядить форумлу Герона, чтобы найти площадь треугольника S

4)тогда наибольшая высота будет
h = 2S/m

такой способ в С++ выглядит так:
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
#include <algorithm>
#include <iostream>
#include <cmath>
 
 
double geth(double& a, double&b, double& Uab)
{
            
        double c = sqrt(a*a+b*b-2*a*b*cos(Uab));
        double m = std::min(std::min(a,b),c);
        double p = (a+b+c)/2;
        double S = sqrt(p*(p-a)*(p-b)*(p-c));
        
        return 2*S/m;
}
 
int main()
{
        double a = 10;
        double b = 12;
        double Uab = 40*(3.14)/180;  // 40 градусов в радианы
        
        std::cout<<geth(a,b,Uab)<<std::endl;
}
вам я так понимаю надо кроме сигнатуры
C++
1
double geth(double& a, double&b, double& Uab)
добавить ещё две функции
C++
1
double gethV(double a, double b, double Uab)
и
C++
1
double gethP(double* a, double*b, double* Uab)
по полной аналогии
1
Скуби
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 34
10.04.2013, 19:49  [ТС] #3
Работает!!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 19:49
Привет! Вот еще темы с ответами:

Разработать функцию, определяющую площадь и значения высот треугольника по заданным трем сторонам - C++
Разработать функцию, определяющую площадь и значения высот треугольника по заданным трем сторонам. Для вычисления площади используется...

По заданным длинам сторон определить вид треугольника, вычислить длины его высот, и вывести их по возрастанию - C++
Даны три числа. Если они могут быть длинами сторон треугольника, определить его вид (прямоугольный, тупоугольный или остроугольный),...

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

Определить наибольшую площадь треугольника, заданного длинами сторон в массиве - C++
Задача такая:1. Определить наибольшую площадь треугольника, зданного длинами сторон в массиве: (а,а,а) - длины сторон первого...


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

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

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