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

Ряд Тейлора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напишите программу, которая считывает текст из файла и выводит на экран только те строки, которые содержат введенное с клавиатуры слово http://www.cyberforum.ru/cpp-beginners/thread1014023.html
Напишите программу, которая считывает текст из файла и выводит на экран только те строки, которые содержат введенное с клавиатуры слово.
C++ Yайти максимальное и минимальное число и его индекс одномерного массива с использованием указателей Дано одномерный массив найти максимальное и минимальное число и его индекс с использованием указателей. http://www.cyberforum.ru/cpp-beginners/thread1014009.html
Количество четных цифр в натуральном числе C++
Посчитать количество четных цифр в натуральном числе.
Муравьиный алгоритм C++
Здравствуйте! Имеется задание: Решить задачу коммивояджера методом Марко Дориго (3 способ муравьиного алгоритма). Теоретическая часть тут: http://vuz.exponenta.ru/PDF/MPEI/c1202/8690.pdf Был...
C++ Найти символ перехода строки http://www.cyberforum.ru/cpp-beginners/thread1013987.html
пытаюсь удалить комментарии - не выходит глючит нахождение "\n" Help!!! string deleteComments(string str) { unsigned lenght = str.length(); unsigned pos1 = 0, pos2 = 0, pos3 = 0, pos4...
C++ написать программу,которая считает 10 чисел из файла 1.txt и запишет в новый файл максимальное из этих чисел. написать программу,которая считает 10 чисел из файла 1.txt и запишет в новый файл максимальное из этих чисел. подробнее

Показать сообщение отдельно
mickey_smith
7 / 7 / 1
Регистрация: 20.11.2013
Сообщений: 32
21.11.2013, 17:22
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// подключение библиотек
#include <stdio.h>
#include <math.h>
#include <iostream>
////////////////////////
 
using namespace std; // использовать пространство имен std(нужно для cout и cin)
 
const double eps = 0.0001; // переменная eps является константой типа double с неизменным значением
 
double taylor(double x, int &count) /* это функция возвращающая значение типа double, которая принимает два
                                       аргумента - x, типа double и count(принимает по указателю т.е. по адресу в памяти),типа int */
{
    double elem = (x - 1.0) / (x + 1.0); /* объявит переменную elem и присвоить ей(или инициализировать её)
                                            значение результата выполнения формулы */
    double coeff = (x - 1.0) * (x - 1.0) / ((x + 1.0) * (x + 1.0)); // аналогично см. выше
    double i = 1.0; // аналогично см. выше 
    double sum = 0.0; // аналогично см. выше
    count = 0; // присвоить переменной count значение 0
    while(fabs(elem) > eps) /* цикл до тех пока elem больше eps
                               функция fabs убирает незначимые нули() например:
                                                                      float x = 5,15000;
                                                                      x = fabs(x);
                                                                      после этого x = 5,15 */
    {
        sum += elem / i; // к переменной sum прибавить значение переменной elem деленной на i
        elem *= coeff; // elem = elem * coeff;
        i += 2.0; // i = i + 2.0
        count++; // увеличить count на 1
    }
 
    return 2.0 * sum; // вернуть результат выполнения в main 
}
 
int main() // начало программы (основная функция)
{
    // объявить переменные
    double xbegin;
    double xend;
    double dx;
    //////////////////////
 
    cout << "input xbegin" << endl; // вывод строки на экран
    cin >> xbegin; // запись введенного значения в переменную
    cout << "input xend" << endl; // аналогично см. выше 
    cin >> xend; // аналогично см. выше 
    cout << "input dx" << endl; // аналогично см. выше 
    cin >> dx; // аналогично см. выше 
 
    double xcurr = xbegin; // объявить переменную xcurr и присвоить ей значение переменной xbegin
    int count = 0; // объявить перенную count и присвоить ей 0
    while(xcurr <= xend) // цикл до тех пор, пока xcurr меньше или равен xend
    {
        xcurr += dx; // прибавить к xcurr значение dx
        count++; // увеличить count на 1
    }
 
    double* funcResults = new double[count]; // выделить память для массива funcResults с размерностью count
    int* funcElemCounts = new int[count]; // выделить память для массива funcElemCounts с размерностью count
    xcurr = xbegin; // присвоить xcurr значение переменной xbegin
    cout << "x       ln x        elements count" << endl; // вывести строку на экран
 
    for(int i = 0; i < count; i++) /* цикл до тех пор пока i меньше count 
                                     (каждая итерация(повторение) цикла увеличиват i на 1, изначально i = 0) */
    {
        funcResults[i] = taylor(xcurr, funcElemCounts[i]); /* В фунцию taylor передаются значения.
                                                              Элементу массива funcResults под индексом i
                                                              присвоить возвращаемое функцией taylor значение */
 
        cout << xcurr << "      " << funcResults[i] << "      " << funcElemCounts[i] << endl; /* Вывести на экран
        значения xcurr, funcResults[i], funcElemCounts[i] */
 
        xcurr += dx; // прибавить к переменной xcurr значение переменной dx
    }
 
    return 0; // вернуть значение 0. Типа все ОК
}
Вот как то так)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru