Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
vladrrom
4 / 4 / 5
Регистрация: 13.10.2016
Сообщений: 108
Завершенные тесты: 1
#1

Реализовать функцию нахождения площади треугольника по трём известным сторонам - C++

14.10.2016, 00:06. Просмотров 931. Ответов 4
Метки нет (Все метки)

Народ, решите пожалуйста! Сам не успеваю, очень прошу!

Разработать функцию f(x, у, z), которая по длинам сторон
треугольника х, у, z вычисляет его площадь. С помощью
данной функции по заданным вещественным
числам а, Ь, с, d, е, f, g найти площадь пятиугольника,
изображенного на рисунке.
0
Изображения
 
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2016, 00:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализовать функцию нахождения площади треугольника по трём известным сторонам (C++):

Найти площадь пятиугольника (определить функцию для расчёта площади треугольника по трём сторонам)
даны вещественные числа a.b.c.d.e Найти площадь пятиугольника ,(определить...

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

Определить прямоугольность треугольника по трём сторонам
Сделал сам, но работает только при том условии, когда сторона "А" - это...

Составить функцию нахождения площади равностороннего треугольника
помогите,пожалуйста! есть вот такие задания...ОЧЕНЬ надо на завтра... \Вопрос...

Упростить код вычисления трёх высот треугольника по трём сторонам
Здравствуйте! Имеется код вычисления трёх высот треугольника по трём сторонам....

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

4
_SayHello
521 / 284 / 94
Регистрация: 30.07.2015
Сообщений: 1,026
14.10.2016, 00:33 #2
Лучший ответ Сообщение было отмечено vladrrom как решение

Решение

vladrrom, для треугольника
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
#include <locale>
using namespace std;
 
double square(double x, double y, double z);
 
int main()
{
    setlocale(0, "");
    double x, y, z;
    cout << "Введите стороны x, y, z : ";;
    cin >> x >> y >> z;
    cout << "Площадь треугольника =  " << square(x, y, z) << " квадратных единиц" << endl;
    system("pause");
    return 0;
}
double square(double x, double y, double z)
{
    double p;
    p = (x + y + z) / 2;
    return sqrt(p*(p - x)*(p - y)*(p - z));
}
Добавлено через 10 минут
пятиугольник
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
#include <locale>
using namespace std;
 
double square(double x, double y, double z);
 
int main()
{
    setlocale(0, "");
    double a, b, c, d, e, f, g;
    cout << "Введите стороны a, b, c, d, e, f, g : ";;
    cin >> a >> b >> c >> d >> e >> f >> g;
    cout << "Площадь пятиугольника =  " << square(a, b, f)+square(f, g, c)+square(g, e, d) << " квадратных единиц" << endl;
    system("pause");
    return 0;
}
double square(double x, double y, double z)
{
    double p;
    p = (x + y + z) / 2;
    return sqrt(p*(p - x)*(p - y)*(p - z));
}
Добавлено через 1 минуту
Проверку на 0 добавите сами
2
vladrrom
4 / 4 / 5
Регистрация: 13.10.2016
Сообщений: 108
Завершенные тесты: 1
14.10.2016, 00:58  [ТС] #3
Спасибо! Я тоже решил, проверьте, так ли.. ?
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
double ploshad(int x, int y, int z)
{
    setlocale(0, "Russian");
    if (x + y > z && x + z > y && z + y > x)
    {
        int p = (x + y + z) / 2;
        return sqrt(p*(p - x)*(p - y)*(p - z));
    }
    else cout << "Треугольник не существует" << endl;
}
    int main()
{
    int a, b, c, d, e, f, g;
    cout << "Enter a, b, c, d, e, f, g" << endl;
    cin >> a >> b >> c >> d >> e >> f >> g; 
    double S = ploshad(a, b, f) + ploshad(f, g, c) + ploshad(e, d, g);
    cout << "S=" << S << endl;
    system("pause");
    return 0;
    }
Добавлено через 1 минуту
Спасибо! Проверьте пожалуйста так же и мою программу, заранее спасибо.
0
_SayHello
521 / 284 / 94
Регистрация: 30.07.2015
Сообщений: 1,026
14.10.2016, 01:07 #4
vladrrom, да правильно вроде, на существование треугольника я не проверял только. Один минус : у Вас по заданию стороны могут быть вещественными , а вы целочисленные только принимаете надо бы double стороны объявить, а не int
1
vladrrom
4 / 4 / 5
Регистрация: 13.10.2016
Сообщений: 108
Завершенные тесты: 1
14.10.2016, 01:21  [ТС] #5
Спасибо! Учту.
0
14.10.2016, 01:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2016, 01:21
Привет! Вот еще темы с решениями:

Использовать функцию нахождения координат точки пересечения двух прямых и вычисления площади треугольника
Здравствуйте, необходимо решить задачу, используя функцию. Условие задачи:...

Оформить процедуру для расчета периметра и площади треугольника по его сторонам
Оформить процедуру для расчета периметра и площади треугольника по его...

Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона)
Помогите написать прогу:wall: Организовать класс треугольник определенный по...

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


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

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

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