Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- double riv(double,double,double);
- double riv2 (double,double,double);
- void log1(double &);
- void log3(double &);
- void operate_chois(int i, double &x);
- int main()
- { int i=0;
- cout<<"задайте x; abs(x)<1) \n";
- double x;
- cin >> x;
- while(true)
- {
- cout<<"выберите действие"<<endl;
- cout<<"1.Найти корень с выводом приближений"<<endl;
- cout<<"2.Найти корень с помощью программы"<<endl;
- cout<<"3.Найти корень стандартным методом"<<endl;
- cout<<"4.Найти логарифм с выводом приближений"<<endl;
- cout<<"5.Найти логарифм (бесконечный ряд)"<<endl;
- cout<<"6.Найти логарифм стандартным методом"<<endl;
- cout<<"ваш выбор:"<<endl;
- cin >> i;
- if(i==0&&i>6) cout<< "Так нельзя"<< endl;
- operate_chois(i,x);}
- return 0;
- }
- void operate_chois(int i,double &x){
- double a=0,b=0,c=0;
- switch(i)
- { case 1: riv2(a,b,c);
- break;
- case 2:
- cout<<"Найти значение x из уравненния. " << " X равно " << riv(a,b,c)<<endl;
- break;
- case 4:{ log3(x);
- break;}
- case 5: log1(x);
- break;
- case 6:{
- cout<<"Стандартное значение логарифма для " << x << " равно " << log(1+x)<<endl;
- break;}
- default: break;
- }
- }
- double riv (double a, double b, double c){
- double xOld;
- cout<<"Введите х\n";
- cin>>xOld;
- cout<< "задайте а б с\n";
- cin>> a>>b>>c;
- double xNew;
- do{
- xOld = xNew;
- xNew = (sqrt(a*xOld)+c)/b;
- if(xNew == xOld) break;
- }
- while(a<0&&b<0&&c<0);
- return xNew;
- }
- double riv2(double a,double b,double c)
- { double x;
- cout<<"Введите х\n";
- cin>>x;
- cout<< "задайте а б с\n";
- cin>> a>>b>>c;
- cout<< "Найти корень уравнения " << endl;
- cout<<"Последовательное приближение " << endl;
- double xNew;
- do{
- x=xNew;
- xNew = (sqrt(a*x)+c)/b;
- cout<< xNew <<endl;
- }
- while(x>1);
- return xNew;}
- void log1(double &x){
- double sum=0;
- int i=1,shag;
- cout<<"Введите шаг\n";
- cin>>shag;
- while(i<=shag){
- sum = sum + pow(-1,i-1)*pow(x,i)/i;
- cout<<i<<"."<<sum<<endl;
- i++;
- }}
- void log3(double &x){
- double u,sum;;
- int i =1;
- cout<< "логарифм "<< x << endl;
- cout<< "последовательное приближение " << endl;
- while(true){
- i++;
- u=-u*(x*(i-1)/i);
- sum+=u;
- sum=u;u=x;
- cout<<sum<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement