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

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

Войти
Регистрация
Восстановить пароль
 
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
#1

Функция, которая вычисляет высоты треугольника - C++

01.04.2012, 21:43. Просмотров 1300. Ответов 7
Метки нет (Все метки)

Нужно написать программу с использованием функции, которая вычисляет высоты треугольника...
Вот код:
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
#include <iostream>
#include <math.h>
using namespace std;
double tre(double, double, double);
void main()
{
    setlocale(LC_ALL, "");
    double a1, b1, c1;
    cout<<"Введите сторону a - ";cin>>a1;
    cout<<"Введите сторону b - ";cin>>b1;
    cout<<"Введите сторону c - ";cin>>c1;
    double S1=tre(a1,b1,c1);
    cout<<"S = "<<S1<<endl;
    double ha, hb, hc;
    ha=2*S1/a1;
    hb=2*S1/b1;
    hc=2*S1/c1;
    cout<<"Высота а - "<<ha<<endl;
    cout<<"Высота b - "<<hb<<endl;
    cout<<"Высота c - "<<hc<<endl;
    system("pause");
}
double tre(double a, double b, double c)
{
    double p=(a+b+c)/2.0;
    double S=sqrt(p*(p-a)*(p-b)*(p-c));
    return S;
}
Когда ввожу a1=2, b1=3, c1=4? оно считает, если какие то большие числа, то будет писать: -1.#IND, либо вообще нули получаются...в чем дело?
Все показано на скринах:
0
Миниатюры
Функция, которая вычисляет высоты треугольника   Функция, которая вычисляет высоты треугольника   Функция, которая вычисляет высоты треугольника  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 21:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция, которая вычисляет высоты треугольника (C++):

Составить программу с использованием функции, которая вычисляет высоты треугольника со сторонами а, b, с - C++
Составить программу с использованием функции, которая вычисляет высоты треугольника со сторонами а, b, с по формулам,{h}_{a}=2*S/a, ...

Функция, которая вычисляет гипотенузу прямоугольного треугольника - C++
Составить программу, содержащую функцию, которая вычисляет гипотенузу прямоугольного треугольника по формуле c=sqrt((a*a)+(b*b)), где а, b...

Написать функцию, которая вычисляет периметр треугольника - C++
Здравствуйте,имеется такая задача: Написать функцию, которая вычисляет периметр треугольника по трем сторонам. И вот такая программа...

Составить программу, которая вычисляет биссектрисы треугольника со сторонами a,b,c по - C++
Составить программу, которая вычисляет биссектрисы треугольника со сторонами a,b,c по

написать функцию которая вычисляет площадь криволинейного треугольника - C++
Только начал изучать C++ Не понимаю как сделать такую программу даже математически Дана окружность (x-a)2+(y-b)2=r2. Написать функцию,...

Функция, которая вычисляет значение aв степени b - C++
напишите пожалуйста программу. вот задача: Написать функцию, которая вычисляет значение aв степени b . Число a может быть любым...

7
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.04.2012, 21:47 #2
Не существует треугольника со сторонами 110, 51 и 22
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
01.04.2012, 21:49 #3
У меня всё считает правильно 2, 3, 4. Даже 10, 20, 30. Ведь площадь треугольника 10, 20, 30 действительно равна нулю ибо линия!
0
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
01.04.2012, 21:52 #4
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
оно считает, если какие то большие числа, то будет писать: -1.#IND
поздравляю - вы научились извлекать корень из отрицательных чисел
к площади треугольников правда это никак не относится
0
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
01.04.2012, 22:16  [ТС] #5
Значит все в коде верно?
0
Байт
Эксперт C
16332 / 10608 / 1587
Регистрация: 24.12.2010
Сообщений: 20,237
01.04.2012, 23:29 #6
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
Значит все в коде верно?
Только надо проверочку поставить, чтоб ни одна сторона не была больше суммы двух других, и ругаться на юзера
C
1
cout<< "Осел! Какие-ты данные ввел? Где ты видал такие треугольники?" << endl;
0
kazak
01.04.2012, 23:55
  #7

Не по теме:

Байт, программа хоть и учебная, но надо же приучать писать юзерфрендли программы. А то топикстартер в будущем без работы останется.

1
Байт
Эксперт C
16332 / 10608 / 1587
Регистрация: 24.12.2010
Сообщений: 20,237
02.04.2012, 00:30 #8
C
1
2
3
4
5
cout<<"Извините, пожалуйста!"<<endl;
cout<<"Эта программа еще столь несовершенна, что при введенных вами данных может дать"
  "несколько странный результат" <<endl;
cout<<"Для попытки продолжения расчета введите Y"<<endl;
cout<<"Всегда к вашим услугам, XaJlop4ik"<<endl;
Добавлено через 1 минуту

Не по теме:

Пользователь всегда прав, даже если он - неправ

2
02.04.2012, 00:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2012, 00:30
Привет! Вот еще темы с ответами:

Функция, которая вычисляет объем шара - C++
4) Написать функцию, которая вычисляет объем шара. ПРОГРАММКИ НУЖНО ПИСАТЬ В С++ ЕЩЕ РАЗ СПАСИБО

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

Функция, которая вычисляет длину C-style строки - C++
Очень часто для работы со строками нам нужно сначала вычислить длину строки. Для C-style строк длина нигде явно не хранится, но её можно...

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


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

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

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