Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

lamed
Статус: Практикант
Рейтинг: 2108
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1751
∙ повысить рейтинг »
_Ayl_
Статус: Студент
Рейтинг: 1578
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / C/C++

Номер выпуска:1485
Дата выхода:08.02.2010, 02:30
Администратор рассылки:Dr_Andrew, Старший модератор
Подписчиков / экспертов:638 / 185
Вопросов / ответов:1 / 2
IRC-канал по теме:#C

Вопрос № 176448: Здравствуйте, эксперты. Помогите написать метод вычисления функции: ...



Вопрос № 176448:

Здравствуйте, эксперты. Помогите написать метод вычисления функции:

Отправлен: 03.02.2010, 02:01
Вопрос задал: Xbondx, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает Boriss, Академик :
Здравствуйте, Xbondx.
В приложении код программы, решающей Вашу задачу. Сделал в VC 2008.
Если в чём другом нужно было, то:
а) нужно было писать;
б) сделаем .

Приложение:

-----
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss, Академик
Ответ отправлен: 03.02.2010, 15:59
Номер ответа: 259181

Оценка ответа: 4

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 259181 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает Micren, Профессионал :
    Здравствуйте, Xbondx.
    Программа. С++. Компилировал GCC.
    Код:
    #include <iostream>
    #include <locale>
    #include <limits>
    #include <valarray>
    #include <cmath>

    using namespace std;

    // Вычисляет синус
    double msin(double x)
    {
    // Приводим к -π/2..π/2
    // Для наших скромных нужд хватит и такого приведения
    int n=floor(abs(x)/M_PI);
    x-=(x<0?-1:1)*n*M_PI;
    x=n&1?-x:x;
    if(abs(x)>M_PI_2)
    {
    x=(x<0?-M_PI:M_PI)-x;
    }
    // Считаем
    double res=0,u=x;
    unsigned int cnt=0;
    do
    {
    res+=u;
    cnt+=2;
    u=-u*x*x/cnt/(cnt+1);
    }
    while(abs(u)>numeric_limits<d ouble>::epsilon());
    return res;
    }

    int main()
    {
    locale::global(locale(""));

    double x;

    while (true)
    {
    cout << "Введите x:";
    cin >> x;
    if (cin.fail())
    {
    cout << "Ошибка ввода" << endl;
    cin.clear();
    cin.ignore(numeric_limits<streamsize>::max(), '\n');
    }
    else
    {
    break;
    }
    }

    cout.precision(18);
    cout<<"Наша функция:"<<msin(x)<<endl
    <<"Стандартная функция:"<<sin(x)<<endl;
    return 0;
    }

    Пример работы:
    Код:
    Введите x:-111
    Наша функция:0.864551448610612061
    Стандартная функция:0.864551448610608286

    Ответ отправил: Micren, Профессионал
    Ответ отправлен: 03.02.2010, 20:51
    Номер ответа: 259191

    Оценка ответа: 5

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 259191 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.02.2010

    В избранное