Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2010, 02:38   #1
PPPPPP
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 22
Стрелка Вычисление синуса (надо подправить интервалы)

Есть программа для вычисления синуса. По сути, это две программы в одной. Первая часть программы считает синус не используя библиотеку math.h. Вторая часть - используя. Во втором случае программа считает синус для любого числа и выдает верное значение. В первом же случае (не используя math.h) программа считает верное значение синуса только для чисел из интервала от [-pi/2 до +pi/2]. Кто-нибудь может помочь мне её исправить, чтобы она могла посчитать любое значение синуса!?
Код:
#include "stdafx.h"

#include<stdio.h>
#include<math.h>
void main()
{
int k=1;
double x,d,s,e,y;
printf("\n Vvedite x=");scanf("%lf", &x);
printf("\n Zadajte to4nost' e=");scanf("%lf", &e);
s=x;
d=x;
do{d=-d*x*x/((k+2)*(k+1));
   s=s+d;
   k=k+2;}
while(fabs(d)>=e);
printf("sin(%lf)=%lf \n ____________",x,s);

y=sin(x);
printf("\n sin=%lf",y);
scanf("%lf",&y);
scanf("%lf %lf",&x,&s);
}
Заранее благодарю.

Последний раз редактировалось PPPPPP; 12.04.2010 в 03:02. Причина: обновление
PPPPPP вне форума Ответить с цитированием
Старый 12.04.2010, 11:02   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

ну вот алгоритм вычисления синуса через ряд
Код:
double CompareSin(double Eps, double X)
{
double Fx = 0, Fxold = 0, PoxX = X;
long i = 1;
int minus = 1;
do 
{
Fxold = Fx;
Fx += minus*PoxX/i;
PoxX *= X*X;
i+=2;
minus *= -1;
} 
while((Fx-Fxold)>=Eps);
return (Fx - sin(X));
}
Но учтите,что синус функция периодичная,поэтому каждые 2п значение будет повторяться,может это и есть суть вопроса? тогда интервал
Цитата:
[-pi/2 до +pi/2]
не есть истина..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 16.04.2010, 17:45   #3
PPPPPP
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 22
По умолчанию

А кто-нибудь может помочь вставить вышенаписанный код в мою программу?!
PPPPPP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение синуса whatever Помощь студентам 1 17.11.2009 20:23
надо бы подправить программу)) Fylhtq Паскаль, Turbo Pascal, PascalABC.NET 3 19.05.2009 19:55
Можете подправить программу??? Срочно надо Fylhtq Паскаль, Turbo Pascal, PascalABC.NET 0 06.01.2009 10:56
Интервалы времени znickolai84 Компоненты Delphi 4 16.05.2008 15:53
Ноты и интервалы между ними треч Помощь студентам 5 01.02.2008 02:39