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

Вычисление функций с использованием их разложения в степенной ряд - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Изменения с шагом http://www.cyberforum.ru/cpp-beginners/thread435044.html
Необходимо вычислить значения функции при изменении х от xmin до xmax с шагом Δх. Как это сделать в этом коде? #include <stdio.h> #include <math.h> #define b 3 int main() { float x, d, xmin, xmax, dx; char variant;
C++ Определение размера массива + sizeof Массив из 6 чисел: sizeof возвращает 24 байта. Тот же массив вызван функцией возвращает только 4 байта. #include <iostream> using namespace std; void Qut1(int); int main() { int Array={10,8,6,4,2,0}; cout<<"Sizeof_Array= "<<sizeof Array<<endl; //ответ 24 http://www.cyberforum.ru/cpp-beginners/thread435041.html
C++ дробные числа
Здраствуйте, народ! Есть глупый вопрос: как сделать проверку для ввода только дробных чисел? Заранее благодарен
Каждая буква входит в слово не менее двух раз (на си) C++
Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Напечатать все слова, которые удовлетворяют следующему условию: каждая буква входит в слово не менее двух раз. Помогите пожалуйста, нужен код на Си.
C++ исправить ошибку в программке http://www.cyberforum.ru/cpp-beginners/thread434986.html
Помогите исправить программу В двумерном массиве хранится информация о количестве учеников в каждом классе каждой параллели школы с 1 по 11. в каждой параллели 5 классов. Определить общее количество учеников в школе //#include "stdafx.h" #include <iostream> #include <cstdlib> #include <ctime> #define n 5
C++ Проблема с <vector> #include <iostream> #include <fstream> #include <vector> using namespace std; void smb_in(); int main() { smb_in(); подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
30.01.2012, 23:14     Вычисление функций с использованием их разложения в степенной ряд
Сергейййййййй, вот с массивами
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
#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, long n)//как я понял из скрина задания 
//нужно суммировать n = 35 первых членов ряда
{
    double pi = 2*asin(1.0);
    double ak = x*cos(pi/3);
    double sum = 0;
    for(long k = 0; k < n; k++)
    {
        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, s;
    cout<<"xn = ";cin>>xn;
    cout<<"xk = ";cin>>xk;
    cout<<"dx = ";cin>>dx;
    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], 35);
        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;
}
Миниатюры
Вычисление функций с использованием их разложения в степенной ряд  
 
Текущее время: 22:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru