Валерия Корзенникова
Валерия Корзенникова

Помогите составить задачу на Pascal или С++

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

СГ
Саша Гетманский

#include
using namespace std;
bool exists(const double, const double, const double);
double perimetre(const double, const double, const double);
double area(const double, const double, const double);
int main () {
double a1, b1, c1, a2, b2, c2, sp, sa;
cout << "a1, b1, c1, a2, b2, c2?.. ";
cin >> a1 >> b1 >> c1 >> a2 >> b2 >> c2;
if (exists(a1, b1, c1) && exists(a2, b2, c2)) {
sp = perimetre(a1, b1, c1) + perimetre(a2, b2, c2);
sa = area(a1, b1, c1) + area(a2, b2, c2);
cout << "The sum of perimetres = " << sp << endl
<< "The sum of the areas = " << sa << endl;
} else cout << "\aAt least one of triangles does not exist!";
cin.get(); cin.get();
return 0;
}
bool exists(const double a, const double b, const double c) {
bool x;
double max = (a > b) ? (a > c) ? a : c : (b > c) ? b : c;
(a + b + c - max > max) ? x = true : x = false;
return x;
}
double perimetre(const double a, const double b, const double c) { return a + b + c; }
double area(const double a, const double b, const double c) {
double p = perimetre(a, b, c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}

ТТ
Татьяна Татьяна

Стучи в агент.

MR
Mirzokarim Ramazoniev

на википедии есть все необходимые тебе формулы

Ев
Евгений

function Perimetr(a, b, c ; Real) : Real;
begin
Perimetr := a + b + c;
end;

function Ploshad(a, b, c : Real) : Real;
var p : Real;
begin
p := Perimetr(a, b, c) / 2;
Ploshad := Sqrt(p * (p-a) * (p-b) * (p-c));
end;

var a1, b1, c1, a2, b2, c2 : Real;
begin
Write('Введите значения длин сторон первого треугольника через пробел: '); ReadLn(a1, b1, c1);
Write('Введите значения длин сторон второго треугольника через пробел: '); ReadLn(a2, b2, c2);
WriteLn('Сумма периметров = ', Perimetr(a1, b1, c1) + Perimetr(a2, b2, c2):0:3);
WriteLn('Сумма площадей = ', Ploshad(a1, b1, c1) + Ploshad(a2, b2, c2):0:3);
end.

Похожие вопросы
Как составить задачу в PASCAL?
[ PASCAL ] Помогите составить БЛОК-СХЕМУ по решенной задаче!!
Помогите составить программу в С++ или Pascal (а лучше и там и там)
помогите составить задачу в PASCAL
Помогите с задачей по Pascal...
Помогите с Pascal задачей.
Помогите составить программу в Pascal
Pascal и с++ помогите составить задачу
Помогите с этой задачей по Pascal
Помогите составить задачу с массивами в Pascal