Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- double sqr3(double a, double eps);
- double sqr3_appr(double a, double eps);
- double our_sin(double x, double eps);
- double our_sin_appr(double x, double eps);
- void operate_choise(int x);
- int main()
- {
- int i;
- while(true){
- cout << "Выберите номер варианта:\n"
- " 0. Выход\n"
- " 1. Вычислить кубический корень з выводом приближенностей\n"
- " 2. Вычислить корень с помомощью созданной программы\n"
- " 3. Вычислить кубический корень стандартным способом\n"
- " 4. Вычислить синус с выводом приближенностей\n"
- " 5. Вычислить синус с помощью созданной программы\n"
- " 6. Вычислить синус стандартным способом\n"
- "Ваш выбор\n";
- cin >> i;
- if(i == 0){
- break;
- }
- else{
- operate_choise(i);
- }
- }
- return 0;
- }
- void operate_choise(int i){
- double x, eps;
- cout << "Введите x";
- cin >> x;
- cout << "Введите eps";
- cin >> eps;
- switch (i) {
- case 1:
- sqr3_appr(x,eps);
- break;
- case 2:
- cout << "Значение кубического корня из" << x << " = " << sqr3(x,eps) << "\n";
- break;
- case 3:
- cout << "Стандартное значение кубического корня" << x << " = " << pow(x,1.0/3) << "\n";
- break;
- case 4:
- our_sin_appr(x,eps);
- break;
- case 5:
- cout << "Значение синуса для " << x << " = " << our_sin(x,eps) << "\n";
- break;
- case 6:
- cout << "Стандартное значение синуса для " << x << " = " << sin(x) << "\n";
- break;
- }
- }
- double sqr3(double a, double eps){
- double xOld, xNew = a;
- do{
- xOld = xNew;
- if(xOld == 0){
- break;
- }
- xNew = xOld - (xOld * xOld - a) / (3 * xOld * xOld);
- }
- while(abs(xNew - xOld) > eps);
- return xNew;
- }
- double sqr3_appr(double a, double eps){
- cout << "Кубический корень из " << a << "\n";
- cout << "Последовательная приближенность:\n";
- double xOld, xNew = a;
- do{
- xOld = xNew;
- if(xOld == 0){
- break;
- }
- xNew = xOld - (xOld * xOld * xOld-a)/(3.0*xOld*xOld);
- cout << xNew << "\n";
- }
- while(abs(xNew-xOld) > eps);
- return xNew;
- }
- double our_sin(double x, double eps){
- int i=1;
- double u = x, result = u;
- while(abs(u) > eps){
- i++;
- u = -u * x * x / (2 * i - 2) / (2 * i - 1);
- result += u;
- }
- return result;
- }
- double our_sin_appr(double x, double eps){
- int i=1;
- double u = x, result = u;
- while(abs(u) > eps){
- i++;
- u = -u * x * x / (2 * i - 2) / (2 * i - 1);
- result += u;
- cout << result << "\n";
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement