Форум программистов, компьютерный форум CyberForum.ru

Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамическое программирование, поиск маршрута http://www.cyberforum.ru/cpp-beginners/thread753126.html
Возможно ли организовать поиск пути с препятствием, используя динамическое программирование? Т.е. что то типа лабиринта.
C++ Задан текстовый файл, содержащий записанные через пробелы целые числа. Используя стек, вывести сначала все четные числа, а затем – нечетные Здравствуйте. Помогите мне пожалуйста с кодом к нескольким программам, а то я даже не знаю от чего оттолкнуться. 1. Задан текстовый файл, содержащий записанные через пробелы целые числа. Используя стек, вывести сначала все четные числа, а затем – нечетные. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. Правила форума http://www.cyberforum.ru/cpp-beginners/thread753118.html
C++ Рекурсия: подсчет суммы всех четных чисел от 2 до 15
Здравствуйте, нужна ваша помощь уважаемые! Никак не могу осилить.. Напишите рекурсивную функцию расчета суммы всех четных чисел от 2 до 15.
Написал класс "Телефонная книга". Но при работе вылетает ошибка. помогите разобраться. C++
Доброго времени суток! Пацаны, дайте подсказку. Пишу телефонную книгу с классами и у меня возникла проблемка (чтение из файла по полям класса), а конкретнее вылетает Exeption. Я пытался дебажить, вроде все читает нормально , но при выводе вылет программы есть. мой код ниже: #include <iostream> #include <string> #define _DataBase "D:\\PhoneBook.txt" #define _MAX_LEN 1000 using...
C++ Invalid indirection http://www.cyberforum.ru/cpp-beginners/thread753067.html
есть функции которые используются в main:void GenArray(int N,int Array ) { randomize(); // Put Array = new int* ; for (int i = 0; i < N; i++) { // Here, put Array = new int; for (int k = 0; k < N; k++) Array = random(9); } return; }
C++ Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) // Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество положительных элементов. // Удалить её. // Последнюю строку матрицы обнулить. // Элементы указанных матриц определяются по формулам: Хij=cos(1.9-i/3j) ; // Yij=cos(5.7-i/2j) ;Zij=cos(1.4-i/4j) . #include "stdafx.h" #include "stdlib.h" подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
31.01.2012, 13:12     Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд
Цитата Сообщение от сержи Посмотреть сообщение
а) для заданного n;
- сержи, это как раз мой код в данном топике
[Вычисление функций с использованием их разложения в степенной ряд]

Добавлено через 12 минут
Цитата Сообщение от сержи Посмотреть сообщение
б) для заданной точности е (е=0.0001).
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
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
//ГЌГ*ГёГ* ГЅГІГ*ëîГ*Г*Г*Гї ГґГіГ*êöèÿ
double f(double x)
{
    double pi = 2*asin(1.0);
    double y  = -log(1 - 2*x*cos(pi/3) + pow(x,2))/2;
    return y;
}
 
double S(double x, double err) 
//err - ГІГҐГЎГіГҐГ¬Г*Гї òî÷Г*îñòü âû÷èñëåГ*ГЁГї ñóììû ðÿäГ*
{
    double pi = 2*asin(1.0);
    double ak = x*cos(pi/3);
    double sum = 0;
    long k = 0;
    while(err <= fabs(ak))
    {
        sum += ak;
        ak  *= k*x*(cos(pi*(k + 1)/3.0)/cos(pi*k/3.0))/(k + 1);
    }
    return sum;
}
 
int main()
{
    double xn, xk, dx, e, s;
    cout<<"xn = ";cin>>xn;
    cout<<"xk = ";cin>>xk;
    cout<<"dx = ";cin>>dx;
    cout<<"e  = ";cin>>e;
    int i = 0;
    int n = 1 + int((xk - xn)/dx);//×èñëî Г·ГЁГ±ГҐГ« Гў Г¬Г*Г±Г±ГЁГўГ*Гµ
    //ÄèГ*Г*ìè÷åñêГ*Гї ГЇГ*ìÿòü ïîä ýëåìåГ*ГІГ» Г¬Г*ññèâîâ
    double * x = new double[n];
    double * y = new double[n];
    cout<<"|  x  |  Sum  |  f(x)  | err, % |\n";
    x[i] = xn;
    while(x[i] <= xk)
    {
        y[i] = f(x[i]);
        s = S(x[i], e);
        cout<<setw(5)<<setprecision(3)<<x[i]<<" | "
            <<setw(5)<<setprecision(3)<<s<<" | "
            <<setw(5)<<setprecision(3)<<y[i]<<" | "
            <<100.0*fabs(y[i] - s)/y[i]
            <<endl;
        i    = i + 1;//Гџ ñïåöèГ*ëüГ*Г® ïîêГ*Г§Г*Г« ГЁГ*êðåìåГ*ГІ ïîëГ*îñòüþ äëÿ ëó÷øåãî ГЇГ®Г*ГЁГ¬Г*Г*ГЁГї
        x[i] = x[i - 1] + dx;
    }
    system("pause");//Äëÿ CodeBlocks äîáГ*ГўГЁГІГј Гў ГЁГ*êëóäû <cstdlib>
    //Г—ГЁГ±ГІГЁГ¬ ГЇГ*ìÿòü
    delete [] x;
    delete [] y;
    return 0;
}
Итератор для вашего ряда посчитайте сами - нужно разделить a[n + 1]/a[n] и всё...
 
Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru