Дан треугольник с длинами сторон A, B и C. Требуется написать функцию, которая вычислит его периметр и площадь, и возвращает их через параметры.
Прототип функции: void triangle_stats(double A, double B, double C, double *area, double *perimeter);
Через параметр area нужно вернуть значение площади, а через параметр perimeter — периметр.
Формат входных данных
С клавиатуры вводятся три вещественных числа — A, B и C - стороны треугольника. Числа вводятся с точностью не более 2 знаков после десятичной точки.
Формат выходных данных
Требуется вывести два числа — площадь и периметр с точностью не менее 6 знаков после десятичной точки.
входные данные
3.0 4.0 5.0
выходные данные
6.000000
12.000000
#include <iostream>
#include <math.h>
using namespace std;
void triangle_stats(double A, double B, double C, double* area, double* perimeter);
int main()
{
double A, B, C, S, P;
cin >> A >> B >> C;
triangle_stats(A, B, C, &S, &P);
cout.setf(ios::fixed);
cout.precision(6);
cout << "S = " << S << endl << "P = " << P << endl;
return 0;
}
void triangle_stats(double A, double B, double C, double* area, double* perimeter)
{
*perimeter = A + B + C;
double P2 = *perimeter / 2.0;
*area = sqrt(P2 * (P2 - A) * (P2 - B) * (P2 - C));
}