Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Tokiwartoot
2 / 2 / 1
Регистрация: 18.11.2015
Сообщений: 41
1

Определить вид треугольника по его сторонам

18.11.2015, 08:25. Просмотров 602. Ответов 3
Метки нет (Все метки)

Помогите кто-нибудь
Даны три числа.Если они могут быть длинами сторон треугольника,определите его вид(прямоугольный,остроугольный,тупоугольный).Вычислите длинны его высот и напечатайте в порядке убывания.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2015, 08:25
Ответы с готовыми решениями:

Определить вид треугольника по его углам
Программа правильно выдает результат с тестами 1,2,4. Но неправильно считает...

Определить вид треугольника по длинам его сторон
Составьте программу, которая определяет вид треугольника по длинам его...

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

Нахождение углов треугольника по трем его сторонам
На данный момент у меня получается вот так.. На форуме есть подобная тема но...

Найти максимальную площадь треугольника по двум его сторонам
Формат ввода Первая строка ввода содержит два целых числа A и B (1 ≤ A, B ≤...

3
na1l
18 / 11 / 8
Регистрация: 07.09.2013
Сообщений: 63
18.11.2015, 10:46 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
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
  int a[3];
  int min, mid, max;
 
  for (int i = 0; i < 3; i++) {
      cin >> a[i];
    }
  min = max = mid = a[0];
 
  for (int i = 0; i < 3; i++) {
      if (a[i] < min)
        min = a[i];
      if (a[i] > max)
        max = a[i];
    }
  for (int i = 0; i < 3; i++){
    if (a[i] > min && a[i] < max )
      mid = a[i];
    }
  cout << min << " " << max << " " << mid << endl;
  if (max >= (min + mid)) {
    cout << "wrong edges" << endl;
    return -1;
    }
  if (max * max > min * min + mid * mid)
    cout << "obtuse trianlge" << endl;
  else if (max * max < min * min + mid * mid)
    cout << "oxygon" << endl;
  else
    cout << "right-angled triangle" << endl;
 
  double p = (min + max + mid) * 0.5;
  cout << p << endl;
  cout << "h1 = " << 2 * sqrt(p * (p - min) * (p - max) * (p - mid)) / min << endl;
  cout << "h2 = " << 2 * sqrt(p * (p - min) * (p - max) * (p - mid)) / max << endl;
  cout << "h3 = " << 2 * sqrt(p * (p - min) * (p - max) * (p - mid)) / mid << endl;
 
  return 0;
}
1
Tokiwartoot
2 / 2 / 1
Регистрация: 18.11.2015
Сообщений: 41
18.11.2015, 11:24  [ТС] 3
na1l,
Спасибо огромное
0
na1l
18 / 11 / 8
Регистрация: 07.09.2013
Сообщений: 63
18.11.2015, 11:25 4
исправил вывод и сделал чуть-чуть проще
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
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
#include <iomanip>
 
using namespace std;
 
int main()
{
  vector<double>a(3);
  double min, mid, max;
 
  for (int i = 0; i < 3; i++) {
      cin >> a[i];
    }
  sort(a.begin(), a.end());
  max = a[2];
  mid = a[1];
  min = a[0];
 
  if (max >= (min + mid)) {
    cout << "wrong edges" << endl;
    return -1;
    }
  if (max * max > min * min + mid * mid)
    cout << "obtuse trianlge" << endl;
  else if (max * max < min * min + mid * mid)
    cout << "oxygon" << endl;
  else
    cout << "right-angled triangle" << endl;
 
  double p = (min + max + mid) / 2;
  a[0] = (2 * sqrt(p * (p - min) * (p - max) * (p - mid)) / max);
  a[1] = (2 * sqrt(p * (p - min) * (p - max) * (p - mid)) / mid);
  a[2] = (2 * sqrt(p * (p - min) * (p - max) * (p - mid)) / min);
  for (int i = 0; i < 3; i++)
    cout << "h = " << fixed << setprecision(2) << a[i] << endl;
 
  return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2015, 11:25

Написать функцию, вычисляющую по заданным сторонам треугольника его площадь
Написать функцию, вычисляющую по заданным сторонам треугольника его площадь.

Написать функцию, вычисляющую по заданным сторонам треугольника его площадь
Написать функцию, вычисляющую по заданным сторонам треугольника его площадь

Найдите площадь треугольника по двум его сторонам и углу между ними
найдите площадь треугольника по двум его сторонам и углу между ними. Это все...


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

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

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