C++ Bc. 13 cpp
#include <iostream> #include <vector> double polynom(double x, const std::vector<double>& a); void soucet (const std::vector<double>& q, const std::vector<double>& r, std::vector<double>& p); int main() { using namespace std; vector<double> p; p.push_back(9); p.push_back(2); p.push_back(5); p.push_back(2); p.push_back(7); for (double x=0; x<1.05; x+=0.1) { cout << x << "\t" << polynom(x, p) << endl; } cout << endl; vector<double> q, r; q.push_back( 3); q.push_back(-1); q.push_back( 2); r.push_back(6); r.push_back(3); r.push_back(3); r.push_back(2); r.push_back(7); soucet(q, r, p); for (double x=0; x<1.05; x+=0.1) { cout << x << "\t" << polynom(x, p) << endl; } } double polynom(double x, const std::vector<double>& a) { int n = a.size(); double h = a[--n]; do { h *= x; h += a[--n]; } while (n); return h; } void soucet (const std::vector<double>& q, const std::vector<double>& r, std::vector<double>& p) { // p je vystupni kontejner, musime nejprve zrusit vsechny jeho prvky p.clear(); int nq = 0; int nr = 0; const int max = std::max(q.size(), r.size()); for (int i=0; i<max; i++, nq++, nr++) { double s = 0; if (nq <= i) s += q[i]; if (nr <= i) s += r[i]; p.push_back(s); } }
0 9 0.1 9.2527 0.2 9.6272 0.3 10.1607 0.4 10.9072 0.5 11.9375 0.6 13.3392 0.7 15.2167 0.8 17.6912 0.9 20.9007 1 25 0 9 0.1 9.2547 0.2 9.6432 0.3 10.2147 0.4 11.0352 0.5 12.1875 0.6 13.7712 0.7 15.9027 0.8 18.7152 0.9 22.3587 1 27
[ Zpět ]