Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 17.02.2021
Сообщений: 13

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

17.02.2021, 15:53. Показов 3542. Ответов 22

Студворк — интернет-сервис помощи студентам
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью ℇ. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции (1) и количество просуммированных членов ряда
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
#include <stdio.h>
#include <math.h>
#include<iostream>
 
 
double func(double x, double eps, int& err, int& n);
 
int main()
{
    double Xn, Xk, dX, eps, F;
    int err;
    int n = -1;
    scanf("%lf %lf %lf %lf", &Xn, &Xk, &dX, &eps);
 
 
    for (double x = Xn; x <= Xk; x += dX)
    {
        F = func(x, eps, err, n);
        if (err) printf("%9.1lf Ряд расходится\n", x);
        else printf("%9.1lf %14.4lf %5d %13.4lf\n", x, F, n );
    }
    return 0;
}
 
double func(double x, double eps, int& err, int& n) {
    err = 0;
    const int MaxIter = 500;
    double ch, F;
    ch = x * x  / 2;
    F = ch;
    for (n = 1; fabs(ch) > eps; n++)
    {
        ch *= (x * n)/n;
        F += ch;
 
        if (n >= MaxIter) { err = 1; return 0; }
    }
    F = - (x + F);
    return F;
}
Выходит ошибка, помогите исправить.
Миниатюры
Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора   Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2021, 15:53
Ответы с готовыми решениями:

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

Вычислить и вывести на экран в виде таблицы значения функции заданной рядом Тейлора
Вычислить и вывести на экран в виде таблицы значения функции заданной с ряда Тейлора, на интервале от хmin до xmax с шагом dx. ...

Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора
Только начал изучать С++, задали задачу, с которой не могу справиться. Вот условие: Вычислить и вывести на экран в виде таблицы значения...

22
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
30.03.2021, 23:36
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от maks2307 Посмотреть сообщение
Если снимаю комментарии в строках 25-28, то вывод неверный получается
это потому что не убрали строку 30. проверяйте:
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
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
double f(double x, double eps, int&n)
{
    double an=1., p=1., S=0.;       
    
    while(fabs(an)>=eps)
    {
        p*=x;           
        an=p/n;
        S-=an; 
        n++;               
    }
    return S;
}    
 
int main()
{    
    int n;
    double xn, xk, dx, eps, S, e=1.e-9;
    //cout << "-1<=x<1\n";
    cout << "xn="; cin >> xn;
    cout << "xk="; cin >> xk;
    cout << "dx="; cin >> dx;
    cout << "eps="; cin >> eps;
    
    //cout <<"  x       S(x)      Y(x)   k\n";
    for (double x=xn; x<=xk+e; x+=dx)
    {
        if (x>-e && x<e) x=0.;
        n=1;
        S=f(x,eps,n);
        cout <<x<<" "<<S<<" "<<n-1<<"  "<<log(1.-x)<<"\n";       
    }
    
system("pause");
return 0;
}
0
0 / 0 / 0
Регистрация: 17.02.2021
Сообщений: 13
31.03.2021, 18:27  [ТС]
Добрый вечер, огромное спасибо Вам за помощь. Но этот код не производит выгрузку в табличной форме, как я прикладывал скрин. И ввод данных в Вашем коде нужно производить с клавиатуры. Мне нужно в моем коде лишь зафиксировать данные, чтобы при загрузке в практикум они не изменялись. Поэтому преподаватель и говорит про сортировку.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
31.03.2021, 23:33
maks2307, выходные данные программы с такой строкой вывода:
Цитата Сообщение от maks2307 Посмотреть сообщение
cout <<setprecision(1)<<fixed<<x<<" "<< setprecision(4)<<S<<" "<<n-1<<"  "<<log(1.-x)<<"\n";
ничем не отличаются от данных проверяющей системы. что ещё требуется ?
Цитата Сообщение от maks2307 Посмотреть сообщение
код не производит выгрузку в табличной форме
что в Вашем понимании табличная форма ? обвести данные рамкой ?
Цитата Сообщение от maks2307 Посмотреть сообщение
И ввод данных в Вашем коде нужно производить с клавиатуры. Мне нужно в моем коде лишь зафиксировать данные, чтобы при загрузке в практикум они не изменялись.
что значит не изменялись если в Вашем документе уже в качестве примера 2 набора входных данных:
0 0.9 0.1 0.0001 (1-ый набор)
-0.9 -0.1 0.1 0.0001 (2-ой набор)
и это лишь примеры, потенциально данные могут быть любыми в пределах допустимых (-1<=x<1)

Вы опять насчёт сортировки ? что здесь можно сортировать в отсортированных данных. отсортированы они потому, что функция ln(1-x) убывает, а значения x берутся последовательные, например для первого набора:
0 0.1 0.2 и т.д.

Добавлено через 11 минут
если хотите вывести данные сначала первого набора потом второго, можно так:
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
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
double f(double x, double eps, int&n)
{
    double an=1., p=1., S=0.;       
    
    while(fabs(an)>=eps)
    {
        p*=x;           
        an=p/n;
        S-=an; 
        n++;               
    }
    return S;
} 
 
void Print(double xn, double xk, double dx, double eps)
{
    int n;
    double S, e=1.e-9;
    for (double x=xn; x<=xk+e; x+=dx)
    {
        if (x>-e && x<e) x=0.;
        n=1;
        S=f(x,eps,n);
        cout <<setprecision(1)<<fixed<<x<<" "<< setprecision(4)<<S<<" "<<n-1<<"  "<<log(1.-x)<<"\n";       
    }
    cout << "\n";
}    
 
int main()
{    
    double xn, xk, dx, eps;    
    
    xn=0; xk=0.9; dx=0.1; eps=0.0001;
    Print(xn,xk,dx,eps);
    
    xn=-0.9; xk=-0.1; dx=0.1; eps=0.0001;
    Print(xn,xk,dx,eps);    
    
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2021, 23:33

Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора
Доброго всем времени суток. Тупила я пару дней над программой и никак не дойду до ее решения. Прошу помочь кодом:cry: Есть ряд Тейлора...

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

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

Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора
условие - using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 2zadanie {

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


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru