Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- double partA(const double& x, const size_t& N)
- {
- double summary = x;
- double numerator = 1, denominator = 1;
- double xScale = 1;
- int scale = 2;
- for (size_t i = 1; i < N; i++)
- {
- xScale *= -x;
- numerator *= (scale - 1);
- denominator *= scale;
- const double temp = numerator / denominator * xScale;
- summary += temp;
- scale += 2;
- }
- return summary;
- }
- pair<double, size_t> partB(const double& x, const size_t& N, const double& e)
- {
- double summary = 0;
- if (abs(x) > abs(e))
- {
- summary += x;
- }
- double numerator = 1, denominator = 1;
- double xScale = 1;
- int scale = 2;
- size_t amount = 0;
- for (size_t i = 1; i < N; i++)
- {
- xScale *= -x;
- numerator *= (scale - 1);
- denominator *= scale;
- const double temp = numerator / denominator * xScale;
- if (abs(temp) > abs(e))
- {
- summary += temp;
- amount++;
- }
- scale += 2;
- }
- return pair<double, size_t>(summary, amount);
- }
- int main()
- {
- // Part1
- int nArraized[10];
- int N = 0;
- double e, x;
- cout << "Enter e, using 10 numbers: ";
- for (size_t i = 0; i < 10; i++)
- {
- cin >> nArraized[i];
- N += nArraized[i];
- }
- if (N <= 0)
- {
- cout << "N <= 0";
- return 0;
- }
- cout << "Enter x: ";
- cin >> x;
- partA(x, N);
- // part 2
- double eps[10];
- cout << "Enter 10 eps: ";
- for (size_t i = 0; i < 10; i++)
- {
- cin >> eps[i];
- pair<double, size_t> response = partB(x, N, eps[i]);
- }
- // part 3
- double compareWith = partA(x, N);
- double compareTo = 1.0 / sqrt(1 + x);
- cout << "Difference between 1/sqrt(1+x) and row is: " << abs(compareWith - compareTo);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement