Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка в вывполнении рограммы с бесконечной суммой, программа выдает не ожидаемый результат 
V
    Опции темы
vancha94
Дата 31.8.2011, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 28.6.2011

Репутация: нет
Всего: нет



Здравствуйте.
В учебнике по C++ было задание написать функцию для вычисления синуса, была дана бесконечная сумма, но код выдает неожиданный результат.
Код

#include <iostream>
using namespace std;
const int N=100;

int main()
{
   double x,q,s=0;
   int n;
   cout<<"Enter x = ";
   cin>>x;
   q = x;
   for(n=1;n<=N;n++){
      s+ = q;
      q* =(-1) * x * x / ( 2 * n ) / ( 2 * n + 1 );
}
  cout<<"sin("<<x<<") = "<<s;
  return 0;
}

При вводе значения 30,  результат не 0.5 а что-то по модулю больше единицы.
user posted image
Вопрос: почему так происходит и как это исправить?
Помогите пожалуйста.
Заранее спасибо.
P.S. код тот, который был предложен в книге.
PM MAIL Skype   Вверх
bsa
Дата 31.8.2011, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



А этот код вообще компилируется? Просто ты у операторов += и *= поставил пробел между символами.
все тригонометрические функции считаются в оригинале для РАДИАНОВ, а не градусов. Соответственно, если ты перед строкой 11 вставишь: 
Код
x *= 3.1415926535897932384626433832795/180;
то все должно получиться.
PM   Вверх
vancha94
Дата 31.8.2011, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 28.6.2011

Репутация: нет
Всего: нет



Помогло, спасибо огромное

Это сообщение отредактировал(а) vancha94 - 31.8.2011, 16:40
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.