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

Метод простой итерации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количество пустых строк в файле http://www.cyberforum.ru/cpp-beginners/thread1170454.html
Сформировать текстовый файл. Подсчитать количество пустых строк в нем. Использовать функции, а также меню для выбора существующего или вновь создаваемого файла.
C++ В одномерном массиве найти элементы меньше левого, но больше правого Помогите пожалуйста написать программу, никак не выходит. В одномерном массиве (не менее 7 элементов) определите и выведите на экран количество элементов, которые меньше левого, но больше правого соседнего элемента. http://www.cyberforum.ru/cpp-beginners/thread1170453.html
C++ Задача на графы. Удалить ребро, соединяющее вершины a и b
Дан граф, состоящий из N вершин и заданный списком смежности. Удалить ребро, соединяющее вершины a и b.
Найти все слова, содержащие латинские буквы (a, e, i, o, u) C++
Задан текст. Найти все слова, содержащие латинские буквы (a, e, i, o, u). Напечатать эти слова в порядке увеличения количества букв (a, e, i, o, u).
C++ Возвратить тип шаблона,так чтобы результат при вызове присваивался объекту http://www.cyberforum.ru/cpp-beginners/thread1170445.html
Есть матрица,нужно создать новую матрицу и "перевернуть" (т.е. столбцы становятся строками,а строки-стобцами)-это сделано. Потом нужно сделать так,чтобы метод возвращал такое значение (типа array<T>),чтобы его можно было присвоить новому объекту в main. Я не знаю,как cделать так,чтобы новая матрица могла бы находиться в этом новом объекте из main. #include "stdafx.h" #include <iostream>...
C++ Стек: Ошибка в объявлении getch Добрый вечер! Реализовал стек и некоторые функции. Вопрос1: в функции doub имеется проблема - нет ограничения, судя по ошибкам, как это сделать? Вопрос2: ошибка в объявлении getch почему-то. Код ниже: #include <iostream> подробнее

Показать сообщение отдельно
tema47
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 67

Метод простой итерации - C++

08.05.2014, 22:34. Просмотров 867. Ответов 1
Метки (Все метки)

Помогите с рекурсией!!!

Задача:
Найти корень заданного уравнения методом простой итерации с заданной точностью. Напомним, что в этом методе нужно уравнение свести к виду x=f(x) и очередное уточнение корня проводится по формуле xn+1=f(xn) до тех пор, пока |xn+1 – xn | > E, где E - заданная точность. Рядом с уравнением в скобках указано начальное приближение корня.

x-sin(x)=0.25 (1.17)

Вот, что настругал:

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
#include <iostream>
#include <math.h>
using namespace std;
 
int const max_iter=100;
int i=0;
double x, x0, eps;
 
double f(double x);
 
int main()
{
    setlocale (LC_ALL, "rus");
    cout << "Введите приближенное значение: ";
    cin >> x;
    cout << "Введите точность вычислений: ";
    cin >> eps;
    do
    {
        x0=x;
        x=x0+f(x0);
        i++;
        cout << endl << "Итерация # "<<i<<endl<<"x = "<<x<<endl;
        cout << "f(x) = " << f(x)<<endl << "Точность = "<<abs(x-x0)<<endl;
    }
    while ((abs(x-x0)>=eps) || (i<max_iter));
    cout << endl;
    if (abs(x-x0)<=eps)
        cout << "Ответ: x = "<<x<<endl;
    else
        cout << "Ответ не найден! За "<<max_iter<<" шагов итерация не сошлась."<<endl;
    system ("pause");
    return 0;
}
double f(double x)
{
    return sin(x)+0.25;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru