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

Arrays to vectors - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввести массив целых чисел. Вставить число 0 между элементами, имеющими разный знак http://www.cyberforum.ru/cpp-beginners/thread1311495.html
Помогите пожалуйста. Программа должна быть несложной) Ввести массив целых чисел, не равных 0, длиной n (n<30). Вставить число 0 между всеми соседними элементами, имеющими разный знак. Заранее спасибо. Написавшему программу вечная благодарность)
C++ Вывести массив в обратном порядке Дано действительные числа а1,...,а17. нужно получить a11,a12,...,a17,a10,a9,...,a1. http://www.cyberforum.ru/cpp-beginners/thread1311480.html
Используя перегрузки, написать функцию для выполнения действий, для следующих типов данных: float, int, double C++
Используя перегрузки, написать функцию для выполнения действий, для следующих типов данных float, int, double, long: приведение типов.
C++ Как объявить такой union?
12 именованных структур, например, RECT, и массив из 12-ти элементов того же типа. Пусть имена RectA, RectB, RectC, RectD, RectE, RectF, RectI, RectJ, RectH, RectK, RectL, RectM и массив Rects и чтоб можно было обращаться и по именам RectA, RectB... (не указателям и не ссылкам) и Rects, Rects....
C++ Где в коде происходит замена максимального и минимально элемента в строке массива? http://www.cyberforum.ru/cpp-beginners/thread1311465.html
Подскажите пожалуйста где место в коде, где происходит замена максимального и минимально места в строке массива #pragma hdrstop #include <tchar.h> #include <windows.h> #include <iostream.h> #pragma argsused
C++ Найти минимальный элемент произвольного одномерного массива найти минимальный элемент произвольного одномерного массива подробнее

Показать сообщение отдельно
4unkur
16 / 16 / 6
Регистрация: 16.06.2014
Сообщений: 174

Arrays to vectors - C++

26.11.2014, 13:56. Просмотров 211. Ответов 4
Метки (Все метки)

Реализовал метод Ньютона таким образом
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 <iostream>
#include <iomanip>
#include <cmath>
 
 
using namespace std;
 
double f(double x) {
    
    return ( sqrt (2 - x*x) - exp (x) );
}
 
double fdx(double x) {
    
    return ( -x / sqrt (2 - x*x) - exp(x) );
}
 
int main () {
 
    const double e = 1e-12;
 
    long double x[1000];
    
    x[0] = 0.3;
    
    int i = 1;
    
    do {
        
        x[i] = (x[i-1] - f(x[i-1]) / fdx(x[i-1]));
 
        ++i;
    } while (fabs (x[i] - x[i-1]) > e);
    
    cout << i << endl;
    cout << setprecision(20) << x[i-1] << endl;
    
    
    return 0;
}
Не могу сделать тоже самое с векторами:

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 <iomanip>
#include <cmath>
#include <vector>
 
using namespace std;
 
double f(double x) {
    
    return ( sqrt (2 - x*x) - exp (x) );
}
 
double fdx(double x) {
    
    return ( -x / sqrt (2 - x*x) - exp(x) );
}
 
int main () {
 
    const double e = 1e-12;
 
    vector<double> x;
    x.push_back (0.3);
    int i = 1;
 
    do {
        
        x.push_back (x[i-1] - f(x[i-1]) / fdx(x[i-1]));
        cout << i << endl;
        ++i;
    } while (fabs (x[i] - x[i-1]) > e);
    
    cout << i << endl;
    cout << setprecision(20) << x[i-1] << endl;
    
    
    return 0;
}
Знаю что можно было вобще без массивов обойтись, но все же, где ошибка? Программа не выходит из цикла. И да, я плохо знаком с vector
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru