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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2014, 19:57   #1
paradises965
Пользователь
 
Регистрация: 09.11.2014
Сообщений: 17
По умолчанию Помогите исправить ошибку в коде

нужно сделать табулирование для такой функции
F(x) = Pi/2-(x+(x^3/2*3)+(1*3*x^5/2*4*5)+(1*3*5*x^7/2*4*6*7)+K)
Функция приближается к arccos x и модуль x < 1
Ошибку выдаёт в цикле for



Код:
#include <stdio.h>
#include <math.h>


float rec_func(float x)
{
float a, b, eps, f = 0, y = 0,a1,x,a2,a3;

eps = 0.0001;
a1=3.14 / 2.0;
a2=2;
a3=3;
a = (float)a1 - x*x*x;
b = (float)a2*(float)a3;
if (fabs(a/b) > eps)
{
y += a / b;
return (y + rec_func(x));
}
return y;
}

float iter_func(float x)
{
float y, eps, f, a, b;
eps = 0.0001;
a = b = 1;
y = 0;
f = 0;
while (fabs(a / b) > eps)
{
f += 2;
y += a / b;
a *= x*x*x;
b *= (f + 2)*f;
}
return y;
}

float std_func(float x)
{
float y;
y = acos(x);
return y;
}

void tabl_func(float a, float b, float l)
{
float d, step, n = 0, x, y = 0;
d = b - a;
step = d / l;
printf("X\t\titer_func\trec_func\ts td_func\texp\n");
for (float x = a;x < b;x += step)
{
printf("x:%f\t", x);
printf("y = %f\t\t", iter_func(x));
printf("y = %f\t\t", rec_func(x));
printf("y = %f\t\t", std_func(x));
printf("%f\n", std_func(x) - iter_func(x));
}
}
int main()
{
float x, y, n, c,a, b, l;

printf("Input a:");
x = a;
printf("Input b:");
scanf("%f", &b);
printf("Input l:");
scanf("%f", &l);

tabl_func(a, b, l);
return 0;
}

Последний раз редактировалось Stilet; 23.11.2014 в 20:19.
paradises965 вне форума Ответить с цитированием
Старый 23.11.2014, 20:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во-первых ошибку выдает не только там. За код - двойка.
Во-вторых, раз ты приказываешь нам угадывать то вот тебе моя догадка: Ты дважды обьявляешь переменную "х".
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в программном коде(С++) corp.delta Visual C++ 1 07.03.2014 11:19
Исправить ошибку в коде на С !!!!! Dgarul Помощь студентам 0 31.05.2010 22:36
Помогите исправить ошибку в коде на делфи True_girl Помощь студентам 2 02.07.2009 00:57
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19