C++ Bc. 12: Porovnání verzí

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání
m
 
(Není zobrazeno 9 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 prot 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 plus plus Bc. Chyba|Chyba]].
+
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
 
  {
 
  {
     template <typename T> Chyba(T t) : text(t) {}
+
     Chyba(std::string t) : text(t) {}
 
   
 
   
 
     std::string text;
 
     std::string text;
Řádek 22: Řádek 24:
 
  double plocha(const Polygon& p);
 
  double plocha(const Polygon& p);
  
[ [[C plus plus Bc.|Zpět]] | [[C plus plus Bc. 12 cpp|C++]] ]
+
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ší]] ]
 +
 
 +
[[Kategorie:Programování]]

Aktuální verze z 10. 1. 2011, 13:07

Výpočet plochy polygonu

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.).

[ Zpět | C++ | Další ]