[решено]вывод В Таблицу Всех Значений Аргумента И Функции И Нахождение

Тема в разделе "C/C++/C#", создана пользователем Whatka, 15 окт 2011.

  1. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    /*Дана функция у= -2*arcsin(х)+3* Ch(х)+1,5.
    Найти наибольшее значение функции, если х изменяется от a до b с шагом h.
    Результат получить в виде таблицы.

    */

    #include <iostream>
    #include <stdio.h>
    #include <math.h>
    using namespace std;
    double HCos(double x,double p)//Вычисление гиперболического косинуса.
    {
    int w=1,k=2;
    double t=1,s=0;
    while (t>p )
    {
    s=s+t;
    t=t*x*x/(w*(w+1));
    w=w+2;
    }
    return s;
    }
    double Arcsin(double x,double e)//Вычисление арксинуса.
    {
    int w=1,k=2;
    double t=x,r=0;
    while(t>e)
    {
    r=r+t;
    t=t*x*x*w/(k*(k+1));
    w=w+2;
    k=k+1;
    }
    return r;
    }


    int main()

    {
    setlocale(LC_ALL,".1251");
    double a,b,h,max,max1,i,e=0.0005,p=0.00000001,s,r,o,l;
    do
    {
    cout <<"Введите начальное a (arcsin [-1,1]) :\n";//Область определения arcsin [-1,1].
    cin>>a;
    cout <<"Введите конечное b (arcsin [-1,1]) :\n";
    cin>>b;
    cout <<"Введите шаг h (соответствие с a и :rolleyes: :\n";
    cin>>h;
    }
    while((a>1)||(a<-1)||(b>1)||(b<-1)||(h>=1)||(h<=0)||((a=B)&&(h!=0)));//Цикл будет запрашивать значения пока они не будут удовлетворять обл.опр.arcsin

    cout<<"___________________________________________________________________________"<<endl;
    cout<<" Значение x | Значение функции | Значение стандартных функции |\n";
    cout<<"___________________________________________________________________________"<<endl;
    //До этой строки всё правильно а дальше не знаю.

    i=a;
    while (i<=B)
    {
    s=HCos(i,p);
    r=Arcsin(i,e);
    o=(-2)*r+3*s+1.5; // значение o, полученное с помощью собственных функций.
    l=(-2)*asin(i)+3*cosh(i)+1.5; // значение l, полученное с помощью стандартных функций.
    cout<<" "<<i;
    cout<<" "<<o;
    cout<<" "<<l<<endl;
    cout<<"___________________________________________________________________________"<<endl;
    i=i+h;

    }
    //Дальше тоже точно правильно.
    i=a+h;
    max =(-2)*asin(a) + 3*cosh(a)+1.5;
    max1 =(-2)*asin(i) + 3*cosh(i)+1.5;
    if (a!=B)
    {
    for(i;i<=b;i=i+h)
    {
    if(max<max1)
    max=max1;
    }
    }
    cout<<"Максимальное значение при x:"<<a<<endl;
    cout<<"Максимальное значение при стандартных функциях:"<<max<<endl;

    i=a+h;
    s=HCos(a,p);
    r=Arcsin(a,e);
    max =(-2)*r + 3*s+1.5;
    s=HCos(i,p);
    r=Arcsin(i,e);
    max1 =(-2)*r + 3*s+1.5;

    if (a!=B)
    {
    for(i;i<=b;i=i+h)
    {
    if(max<max1)
    max=max1;
    }
    }
    cout<<"Максимальное значение при собственных функциях:"<<max<<endl;

    return (0);
    }
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Спасибо что поделились с нами кодом. Но в тэге С++ он бы выглядел красивей.
     
Загрузка...

Поделиться этой страницей