Найти площадь пятиугольника - C (СИ) (77839)

Формулировка задачи:

Задача на Си: Даны действительные числа a,b,c,d. Найти площадь пятиугольника,изображенного на рисунке.(Определить процедуру вычисления площади треугольника по трем его сторонам) Написал так:
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
bool rez;
 
//Проверка на существование треугольника
int check(float z, float x, float w){
    if ( (z>0)&&(x>0)&&(w>0) ){
        if ((z+x)>w&&(z+w)>x&&(x+w)>z) rez = true;
        else rez = false;
    } else rez = false;
 
    return rez;
}
 
//Вычисление площади треугольника
float pt(float z, float x, float w){
    float p = (z + x + w)/2;
    float pl3 = sqrt((p*(p-z)*(p-x)*(p-w)));
    return pl3;
}
 
void main(){
float pl5, a, b, c, d;
 
scanf("%f%f%f%f", &a,&b,&c,&d);
 
if ( check(1, 2, a)==1&&check(2, 2.5, b)==1&&check(2.5, c, d)==1 ){
    pl5 = pt(1, 2, a) + pt(2, 2.5, b)+ pt(2.5, c, d);
    printf("%f", pl5);
} else printf("%d", rez);
 
_getch();
}
Можно ли как то упростить код?

Код к задаче: «Найти площадь пятиугольника - C (СИ) (77839)»

textual
if ( check(1, 2, a) && check(2, 2.5, b) && check(2.5, c, d))
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

6   голосов, оценка 4.333 из 5


СДЕЛАЙТЕ РЕПОСТ