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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2012, 22:30   #11
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
По умолчанию

спасибо большое! проверю сейчас))
Sorento2 вне форума Ответить с цитированием
Старый 16.11.2012, 16:54   #12
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
По умолчанию

В принципе все понятно. Но работать пока не захотел. Наверно, что то сам не то делаю. Пробую 10-ый или 11-ый раз:D
Sorento2 вне форума Ответить с цитированием
Старый 16.11.2012, 17:07   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Бывает... )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 18:08   #14
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
По умолчанию

Код:
#include <math.h>
#include <stdio.h>
#include <conio.h>
double factorialch(double a){
	double value=1.0;
	for(double i=1.0;i<a+1.0;i++) value*=i;
	return value;
}


//double fact(double a)
//{
//if(a == 1)
//return a;
//else return fact(a-1)*a;
//} 


int main()
{
      double n, b, xn, xk, sh, t,  x, sum;
      double i;
      //char string[105];
      char Y,N;
      
      a1: while(1)
      {  
      printf("Vvedite x nachal'noe, x konechnoe, sdvig, shag, tochnost'\n");       
      scanf("%lf%lf%lf%lf%lf", &xn,&xk,&b,&sh,&t);
      {
               
            
printf("+---------------------------------------+\n");
printf("¦    X    ¦cos(x+b) ¦ Function¦    N    ¦\n");
printf("¦---------+---------+---------+---------¦\n");
      for(x=xn;x<xk+sh/8;x+=sh)
      {
    n=0.0;
    sum=0.0;

    while(fabs(pow(x,n)*cos(b+n*M_PI/2)/factorialch(n))>t)
    {
    if(n>10000.0)
    break;  
    n++;
    }
    for(i=0.0; i<n; i++)
    sum+=(pow(x,i)*cos(b+3.14*i/2))/factorialch(1.0*i);
       
printf("¦ %6.2f  ¦ %6.3f  ¦ %7.3f  ¦  %g   ¦\n", x, cos(x+b), sum, n);
      }
printf("+---------------------------------------+\n");


a2: printf("Prodolzhit' vichysleniya? (Y/N)\n");




}
if(getche()=='Y') goto a1;
if(getche()=='N') return 0;
else goto a2;
}
return 0;
}
Вроде как работает, но почему то после 35-ого элемента сбивается ряд, и
не совпадают результаты.
Sorento2 вне форума Ответить с цитированием
Старый 22.11.2012, 18:11   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а отладчиком проходил?
Смотрел что происходит на 36-й итерации?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 18:25   #16
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
По умолчанию

Вот как то так.
Изображения
Тип файла: jpg Снимок.JPG (95.4 Кб, 24 просмотров)
Sorento2 вне форума Ответить с цитированием
Старый 22.11.2012, 18:53   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... А ты случайно в своем факториале за пределы переменной не выскакиваешь?
Возможно получаешь при вычислении число, которым процессор просто давится, вот он тебе и пишет -1.#IO, мол "отвали от меня со своими плюшками в километр"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 19:03   #18
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
По умолчанию

Я понимаю, что из-за факториала не считает, но не знаю как исправить это.
Sorento2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВЫчисление функции с помощью разложения в ряд. katris Помощь студентам 1 03.03.2013 17:26
Вычисление функции разложением её в ряд Hita4 Паскаль, Turbo Pascal, PascalABC.NET 1 17.12.2011 21:00
Вычисление функции разложением её в ряд Hita4 Паскаль, Turbo Pascal, PascalABC.NET 0 12.12.2011 18:02
Вычисление арктангенса через ряд Тейлора. С++. chibbis Помощь студентам 1 23.12.2009 11:48
Вычисление функции разложением ее в ряд 5nizza77 Паскаль, Turbo Pascal, PascalABC.NET 1 15.10.2009 10:55