C++ Bc. 13

Z GeoWikiCZ
(přesměrováno z C plus plus Bc. 13)
Přejít na: navigace, hledání
Hornerovo schéma

Napište dvě funkce. Funkci polynom(), která počítá pro zadaný argument x hodnotu polynomu

P_n(x) = a_n\cdot x^n + a_{n-1}\cdot x^{n-1} + \ldots + 
               a_2\cdot x^2 + a_1\cdot x + a_0

Pro výpočet použijte Hornerovo schéma, které postupným uzávorkováním umožňuje výpočet polynomu bez explicitního výpočtu mocnin x^i.

Například polynom

P_4(x) = 7\cdot x^4 + 2\cdot x^3 + 
               5\cdot x^2 + 2\cdot x + 9

můžeme zapsat jako

P_4(x) = (((7\cdot x + 2)\cdot x + 5)\cdot x + 2)\cdot x + 9

Pro ukládání koeficientů polynomu použijte standardní kontejner std::vector<double>

double polynom(double x, const std::vector<double>& a);

Příklad: P_4(0.3) = 7\cdot 0.3^4 + 2\cdot 0.3^3 + 
               5\cdot 0.3^2 + 2\cdot 0.3 + 9  = 10.1607


Dále napište funkci soucet(), která sčítá dva polynomy

P_{\max~{q,r}}(x) = Q_q(x) + R_r(x)

void soucet(const std::vector<double>& q, const std::vector<double>& r,
                  std::vector<double>& p);

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