Navigace: Hlavní stránka -> Jazyk C -> 02 Jednoduché výpočty s podmínkou -> 02.19 Obsah lichoběžníku ze zadaných stran

MENU

02.19 Obsah lichoběžníku ze zadaných stran

Zadání:
Sestavte program, který vypočte ze zadaných délek stran obecného lichoběžníku jeho obsah.
Řešení:
Lichoběžník musíme rozdělit na kosodélník a trojúhelník.
Ze stran trojúhelníku (a-c,b,d) vypočteme pomocí Heronova vzorce jeho obsah.
Z vypočteného obsahu trojúhelníku vypočteme jeho výšku (viz. program 01.19).
Ze strany c lichoběžníku a výšky trojúhelníku vypočteme obsah kosodélníku.
Obsah obecného lichoběžníku vypočteme jako součet obsahu kosodélníku a trojúhelníku.
Dosazením všech výpočtů do jednoho dostaneme vzorec:





Lichoběžník lze sestrojit, pokud součet délek stran b,c,d je větší než délka strany a.

#include "stdafx.h"
#include "math.h"
#include 

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	float a,b,c,d,s;

	printf("Zadejte stranu a: ");
	scanf_s("%f",&a,1);
	printf("Zadejte stranu b: ");
	scanf_s("%f",&b,1);
	printf("Zadejte stranu c: ");
	scanf_s("%f",&c,1);
	printf("Zadejte stranu d: ");
	scanf_s("%f",&d,1);
   
    if ((a>0) && (b>0) && (c>0) && (d>0) && (b+c+d>a))
	{
       s=(a+c)/(4*(a-c))*sqrtf((a+b-c+d)*(a-b-c+d)*(a+b-c-d)*(-a+b+c+d));
       printf("Obsah lichobezniku=%.3f\n",s);
	}
    else
       printf("Vypocet nelze provest\n");

	system("pause");
	return 0;
}
program ke stažení
Pro učitele:
Pro lepší pochopení postupu výpočtu lze jednotlivé kroky počítat zvlášť.