Ahoj,
začínám s C, hlavně kvůli škole. Potřebovala bych pomoct s jedním domácím úkolem ...
Realizujte program, který pro trojúhelník zadaný velikostmi svých stran určí další jeho parametry.
Vstupem programu jsou tři kladná desetinná čísla reprezentující délky stran a, b a c.
Výstupem programu jsou následující informace v pořadí dle ukázek:
informace, zda trojúhelník existuje,
zda je rovnoramenný/rovnostranný/není ani rovnoramenný ani rovnostranný,
zda je tupoúhlý/pravoúhlý/ostroúhlý,
velikosti jeho vnitřních úhlů ve stupních a radiánech,
obvod a obsah,
velikosti výšek a
poloměr kružnice opsané a vepsané.
Program detekuje chybu, zobrazí chybové hlášení dle ukázky a ukončí se, pokud jsou na vstupu nečíselné hodnoty nebo pokud strany nejsou kladná desetinná čísla. Chybové hlášení vypisujte na standardní výstup (nevypisujte jej na standardní chybový výstup).
Dodržte přesně formát všech výpisů. Výpis Vašeho programu musí přesně odpovídat ukázkám. Testování provádí stroj, který kontroluje výpis na přesnou shodu. Pokud se výpis Vašeho programu liší od referenčního výstupu, je Vaše odpověď považovaná za nesprávnou. Záleží i na mezerách, i na odřádkování. Nezapomeňte na odřádkování za posledním řádkem výstupu (a za případným chybovým hlášením). Využijte přiložený archiv s testovacími vstupy a výstupy a přečtěte si sekci FAQ, jak využít přesměrování vstupů/výstupů k testování Vašeho programu.
Váš program bude spouštěn v omezeném testovacím prostředí. Je omezen dobou běhu (limit je vidět v logu referenčního řešení) a dále je omezena i velikost dostupné paměti (ale tato úloha by ani s jedním omezením neměla mít problém). Testovací prostředí dále zakazuje používat některé "nebezpečné funkce" -- funkce pro spouštění programu, pro práci se sítí, ... Pokud jsou tyto funkce použité, program se nespustí. Možná ve svém programu používáte volání:
int main ( int argc, char * argv [] )
{
...
system ( "pause" ); /* aby se nezavrelo okno programu */
return 0;
}
Toto nebude v testovacím prostředí fungovat - je zakázáno spouštění jiného programu. (I pokud by se program spustil, byl by odmítnut. Nebyl by totiž nikdo, kdo by pauzu "odmáčkl", program by čekal věčně a překročil by tak maximální dobu běhu.) Pokud tedy chcete zachovat pauzu pro testování na Vašem počítači a zároveň chcete mít jistotu, že program poběží na Progtestu správně, použijte následující trik:
int main ( int argc, char * argv [] )
{
...
#ifndef __PROGTEST__
system ( "pause" ); /* toto progtest "nevidi" */
#endif /* __PROGTEST__ */
return 0;
}
Ukázka práce programu:
Zadejte velikost stran a b c:
5 5 5
Trojuhelnik je rovnostranny.
Trojuhelnik je ostrouhly.
Uhel alfa: 1.0472 rad = 60 s 00'00.00''
Uhel beta: 1.0472 rad = 60 s 00'00.00''
Uhel gama: 1.0472 rad = 60 s 00'00.00''
Obvod: 15.0000
Obsah: 10.8253
Polomer kruznice vepsane: 1.4434
Polomer kruznice opsane: 2.8868
Vyska va: 4.3301
Vyska vb: 4.3301
Vyska vc: 4.3301
Nevíte někdo jak do toho?