Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
#1

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++

10.01.2013, 21:18. Просмотров 3554. Ответов 9
Метки нет (Все метки)

Делал через различные циклы,всёравно не хочет выводить результат((((((((

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"
#include <clocale>
#include <cmath>
#include <iostream>
 
 
using namespace std;
 
int fact (float n);
 
int main()
 
{
    setlocale(LC_ALL,"Russian");
 
    const int Xn = -5,Xk = 5;
        double dx,eps,x,n = 0,sum,asum = 1;
 
    cout<<"Введите шаг dx: \n";
        cin>>dx;
    cout<<"Введите точность eps: \n";
        cin>>eps;
    
       for (x = Xn;x<Xk;x += dx)
       {
         for(sum = 1 ;fabs(sum)>eps;n++)
        {
            asum = ((pow(-1,n)) * (pow(x,n)))/fact(n);
            sum += asum;
      
         }
 
         cout<<"Шаг: "<<x<<";Сумма: "<<sum<<";Аргумент: "<<exp(-x)<<";Колличество "<<n<<endl;
       };
    
    system("pause");
 return 0;
}
 
 
int fact(float n)
{
    double f = 1;
        
        for (float i = 2;i<n;i++)
        {
            f *=i;
        }
    return f;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 21:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора (C++):

вычислить и вывести на экран в виде таблицы значения функции,заданной с помощью ряда Тейлора - C++
вот задание вычислить и вывести на экран в виде таблицы значения функции,заданной с помощью ряда Тейлора,на интервале от Хнач до Хкон...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx c...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Ребята, помогите пожалуйста решить. Я в этом деле новичок, и сам никак не справлюсь. 3. Вычислить и вывести на экран в виде таблицы...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Вот сама задачка.:) Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от x...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Вычислить и вывести на экран в виде таблици значения функции, заданной с помощью ряда Тейлора, на интервале от Xнач до Xкон с шагом dx с...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Здравствуйте! Помогите пожалуйста... :gsorry: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда ...

9
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,274
Записей в блоге: 1
10.01.2013, 21:30 #2
факториал нерационально считается. Что за задача то?
0
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
10.01.2013, 21:41  [ТС] #3
Сейчас,почему не рационально?
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от XНАЧ до xкон с шагом dx с точностью ε. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряд

0
Миниатюры
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора  
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
10.01.2013, 22:33 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdafx.h"
#include "iostream"
#include "cmath"
using namespace std;
 
unsigned long factorial(int n)
{
    unsigned long f = 1;
 
    for (int i=2; i<=n; i++)
        f = f * i;
 
    return f;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    const double xn=-5, xk=+5;
    double eps, dx, x;
    double sum=0, argument;
    int n;
 
    cout << "Введите точность eps: ";  cin >> eps;
    cout << "Введите шаг dx:       ";  cin >> dx;
 
    n = 0;
    x = xn;
    while ( (argument = (pow(-1.0, n) * pow(x,n)) / factorial(n)) >= eps )
    {
        sum = sum + argument;
 
        cout << "Шаг: " << x << "; Сумма: " << sum << "; Аргумент: " << argument << "; Количество: " << n << endl;
 
        x += dx;
        n++;
    }
 
    system("pause");
    return 0;
}
1
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
10.01.2013, 22:37  [ТС] #5
v.a.l.i.d, с факториалом понятно,вы можете рассказать в чём косяк в моей проге?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
10.01.2013, 22:43 #6
Цитата Сообщение от faLek Посмотреть сообщение
с факториалом понятно,вы можете рассказать в чём косяк в моей проге?
Да я даже не знаю. тут в этой строчке косяк
Цитата Сообщение от faLek Посмотреть сообщение
asum = ((pow(-1,n)) * (pow(x,n)))/fact(n);
В функцию pow надо аргументы double передавать

Добавлено через 1 минуту
Насчет своей программы не уверен. Мне кажется что я неправильно ее сделал
0
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
10.01.2013, 22:45  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"
#include <clocale>
#include <cmath>
#include <iostream>
 
 
using namespace std;
 
unsigned long fact (int n);
 
int main()
 
{
    setlocale(LC_ALL,"Russian");
 
    const int Xn = -5,Xk = 5;
        double dx,eps,x,n = 0,sum,asum = 1;
 
    cout<<"Введите шаг dx: \n";
        cin>>dx;
    cout<<"Введите точность eps: \n";
        cin>>eps;
    
       for (x = Xn,sum =1;x<Xk && fabs(sum)>eps;x += dx,n++)
       {
         
        
            asum = ((pow(-1,n)) * (pow(x,n)))/fact(n);
            sum += asum;
      
         
 
         cout<<"Шаг: "<<x<<";Сумма: "<<sum<<";Аргумент: "<<exp(-x)<<";Колличество "<<n<<endl;
       };
    
    system("pause");
 return 0;
}
 
 
unsigned long fact(int n)
{
    unsigned long f = 1;
        
        for (int i = 2;i<n;i++)
        {
            f *=i;
        }
    return f;
 
}
v.a.l.i.d,нет аргументы не нужно передавать,получается у меня цикл считал не так=),а вот факториал ,почему int тип он плохо считатет,можете объяснить?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
10.01.2013, 22:51 #8
Факториал очень быстро возрастает при увеличении чисел
Например

20! = 2432902008176640000 (не влезит в int)

Вот поэтому int он плохо считает)
1
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
10.01.2013, 23:01  [ТС] #9
v.a.l.i.d, а точно же ,диапазон,спасибо=)
0
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,274
Записей в блоге: 1
10.01.2013, 23:55 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdafx.h"
#include <clocale>
#include <iostream>
using namespace std;
int main(){
    setlocale(LC_ALL,"Russian");
    const int Xn = -5,Xk = 5;
    double dx,eps,x,
              n,
              sum,
              asum;
    cout<<"Введите шаг dx: \n";
        cin>>dx;
    cout<<"Введите точность eps: \n";
        cin>>eps; 
       for (x = Xn;x<Xk;x += dx){
         for(asum = 1, sum=0, n = 1; fabs(asum)>eps;n++){
            asum = -asum *x/n;
            sum += asum;
         }
         cout<<"Шаг: "<<x<<";Сумма: "<<sum<<";Аргумент: "<<exp(-x)<<";Колличество "<<n<<endl;
       }
    system("pause");
 return 0;
}
2
10.01.2013, 23:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 23:55
Привет! Вот еще темы с ответами:

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, от xнач до xкон с шагом dx с точностью ε....

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда тейлора - C++
Привет неспящим=)) В функциях я вообще не шарю, а мне надо всю программу реализовать в виде функции. Вот такая вот: Вычислить и вывести...

Вычислить и вывести на экран в виде таблицы значения функции заданной с помощью ряда Тейлора - C++
Задание: Вычислить и вывести на экран в виде таблицы значения функции заданной с помощью ряда Тейлора на интервале от xn до xk с шагом dx и...

Вычислить и вывести в виде таблицы значения функции, заданной с помощью ряда Тейлора - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Xнач до Xкон с шагом dx с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru