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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2014, 02:23   #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

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

double iter_func(double x, double eps){
	eps= 0.0001;
    double a = x*x*x;
    double b =(2*3);
    double y = 3.14/2 - x - a/b;
    int k = 1;
    while(fabs(a/b) > eps){
        
        y *= (2*k + 1)*(2*k + 1)*x*x/((k + 1)*(2*k + 3));
        y -= a/b;
        ++k;
    }
        
    return y;
}
 
double rec_func(double x,double eps, int k = 1, double a= 0,double b= 0, double y = 0){
	eps=0.0001
    if (k == 1){
        a = x*x*x;
        b =(2*3);
        y = 3.14/2 - x - a/b;
    }       
        
    if (fabs(a/b) <= eps)
        return y;
    else{
        y *= (2*k + 1)*(2*k + 1)*x*x/((k + 1)*(2*k + 3));
        y -= a/b;
        ++k;
        return rec_func(x,eps,k,a,b,y);
        
    }
}


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

void tabl_func(float a,float b,float l)
{
float d, step, n = 0, y = 0,eps,k,ds,s;
d = b - a;
step = d / l;
printf("X\t\titer_func\trec_func\tstd_func\teps\n");
for (float x = a;x < b;x += step)
{
printf("x:%f\t", x);
printf("y = %f\t\t", iter_func(x,eps));
printf("y = %f\t\t", rec_func(x,eps,k,a,b,y));
printf("y = %f\t\t", std_func(x));
printf("%f\n", std_func(x) - iter_func(x,eps));
}
}
int main()
{
float a, b, l;

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

tabl_func(a, b, l);
getchar ();
return 0;
}
paradises965 вне форума Ответить с цитированием
Старый 02.12.2014, 03:20   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Пишите, какие ошибки.

Во первых в rec_func после eps=0.0001 пропущено ;
Кстати, какой смысл этот eps использовать в качестве аргкмента функции, если вы его значение задаете в этой функции. Выберите уж что-то одно.

Во вторых , условие while(fabs(a/b) > eps) - у вас или всегда выполняется, или никогда не выполняется. То есть цикл или не выполняется ни разу, или выполняется вечно и программа зависает.
Вообще непонятно, что вы там проверяете. Отношение a/b - оно же у вас не меняется.

Последний раз редактировалось type_Oleg; 02.12.2014 в 03:28.
type_Oleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выводиться контент!!! might2012 WordPress и другие CMS 0 06.04.2012 15:51
Можно ли в Паскали составить 2 задачи в одном окне и будут ли они выводиться? Женя1234 Помощь студентам 4 20.01.2012 20:11
Проверьте, пожалуйста, программу!Не выводиться на экран! J__S(Юляшка) Общие вопросы C/C++ 5 21.12.2009 03:14
Вопрос по Image (скачанная картинка не хочет выводиться в Image) Radnor Мультимедиа в Delphi 2 06.07.2009 02:20