C++ Bc. 12: Porovnání verzí
m plus plus -> ++ |
mBez shrnutí editace |
||
(Není zobrazeno 5 mezilehlých verzí od 2 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
;[http://en.wikipedia.org/wiki/Polygon_area#Area Výpočet plochy polygonu] | |||
Napište funkci <tt>plocha(),</tt> která počítá plochu polygonu podle vzorce | Napište funkci <tt>plocha(),</tt> která počítá plochu polygonu podle vzorce | ||
Řádek 5: | Řádek 7: | ||
</math> | </math> | ||
V závislosti na číslování vrcholů polygonu, může plocha vyjít i záporná a je proto nutno uvažovat absolutní hodnotu. V uvedeném vzorci se předpokládá, že polygon je uzavřený, tj. že poslední bod polygonu je identický s prvním bodem polygonu. Zajistěte aby funkce <tt>plocha()</tt> dávala správné výsledky pro uzavřené i neuzavřené polygony. Zajistěte, aby v případech kdy není zadán dostatečný počet bodů, funkce vyvolala výjimky [[C | V závislosti na číslování vrcholů polygonu, může plocha vyjít i záporná a je proto nutno uvažovat absolutní hodnotu. V uvedeném vzorci se předpokládá, že polygon je uzavřený, tj. že poslední bod polygonu je identický s prvním bodem polygonu. Zajistěte aby funkce <tt>plocha()</tt> dávala správné výsledky pro uzavřené i neuzavřené polygony. Zajistěte, aby v případech kdy není zadán dostatečný počet bodů, funkce vyvolala výjimky [[C++ Bc. Chyba|Chyba]]. | ||
struct Chyba | struct Chyba | ||
{ | { | ||
Chyba(std::string t) : text(t) {} | |||
std::string text; | std::string text; | ||
Řádek 21: | Řádek 23: | ||
double plocha(const Polygon& p); | double plocha(const Polygon& p); | ||
Použijte funkci plocha() v programu, který čte vstupní data ze vstupního proudu (např. ze souboru a pod.). | |||
[ [[C++ Bc.|Zpět]] | [[C++ Bc. 12 cpp|C++]] | [[C++ Bc. 13|Další]] ] | [ [[C++ Bc.|Zpět]] | [[C++ Bc. 12 cpp|C++]] | [[C++ Bc. 13|Další]] ] | ||
[[Kategorie:Programování]] |
Aktuální verze z 10. 1. 2011, 11:07
Napište funkci plocha(), která počítá plochu polygonu podle vzorce
V závislosti na číslování vrcholů polygonu, může plocha vyjít i záporná a je proto nutno uvažovat absolutní hodnotu. V uvedeném vzorci se předpokládá, že polygon je uzavřený, tj. že poslední bod polygonu je identický s prvním bodem polygonu. Zajistěte aby funkce plocha() dávala správné výsledky pro uzavřené i neuzavřené polygony. Zajistěte, aby v případech kdy není zadán dostatečný počet bodů, funkce vyvolala výjimky Chyba.
struct Chyba { Chyba(std::string t) : text(t) {} std::string text; }; struct Bod { double x, y; }; typedef std::vector<Bod> Polygon; double plocha(const Polygon& p);
Použijte funkci plocha() v programu, který čte vstupní data ze vstupního proudu (např. ze souboru a pod.).