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

Не могу найти ошибку! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выбор контейнера http://www.cyberforum.ru/cpp-beginners/thread775824.html
Есть два варианта. Первый: map <pair <int,int>, int> my_map; map <pair <int,int>, int>::iterator p; p = my_map.find(make_pair(100,150)); Второй:
C++ Перегрузка операторов -> <- Здравствуйте в столь позднее время.. Какова особеность перегрузки операторов -> и . ? Что возвращают ? Если можно ссылки на стандарт...Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread775818.html
C++ Объекты класса
Приветствую вас) Подскажите пожалуйста какая структура у класса и его объектов в c++bilder К примеру создание класса и 3-х объектов внутри. Мучаюсь уже сутки и не могу понять...а нормальной литературы найти не получается( Заранее спасибо!
Ошибка с статическими членами класса C++
Доброго времени суток, форумчане! Недавно пришлось вернуться с С# на С++ и я тут же заметил что я все забыл( Итак по сути: Есть определение класса: static class control { public: static double u0;
C++ Найти все простые числа вида n^(n) + 1, меньше за 10^19 http://www.cyberforum.ru/cpp-beginners/thread775776.html
Мне надо создать программу. Задание вот такое: Найти все простые числа вида nn + 1, меншье за 1019.
C++ Удалить элемент из односвязного списка Есть односвязный список struct student { char last_name; char name; char date; int exams; double rate; }; подробнее

Показать сообщение отдельно
akiam
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 39
31.01.2013, 04:25     Не могу найти ошибку!
Вобщем вот программа.
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
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
#include <conio.h>
 
 
int main ()
{
    const int max = 500;
    double Xn,Xk,dX,eps,element,summa;
    int c;
    //cout<<"vvedite Xn,Xk,dX,eps"<<endl;
    cin>>Xn>>Xk>>dX>>eps;
    //cout << "X     |       Y          |    c" << endl;
    for (double x=Xn;x<=Xk+dX; x+=dX)
    {
        c=0; summa=element=2/x; 
        for (int n =0; fabs(element)>eps && n<max ;n++)
        {
        element*=(2*n+1)/((2*n+3)*x*x);
        //cout<<x<<" ";
        //cout<<endl;
        summa+=element;
        //cout<<summa<<" ";
        //cout<<endl;
        //cout<<element<<" ";
        //cout<<endl;
        c++;
        }
        if (c<max+1) 
        cout<<setprecision(2)<<x<<" "<<setprecision(4)<<summa<<" "<<c<<" "<<setprecision(4)<<log((x+1)/(x-1))<<endl;
            else cout << "Riad rashoditsia" <<endl;
    }
    getch();
    return 0;
}
Можете подсказать, где ошибка?
Мне надо:
Ввод: начало и конец интервала, шаг и точность
Вывод: таблица, каждая строка которой есть комбинация из четырех чисел – значение аргумента, значение функции, количество просуммированных членов ряда и расчет функции стандартными средствами с++

Ввожу: 1.5 2.5 0.1 0.0001
Получаю:
1.5 1.609 9 1.609
1.6 1.466 8 1.466
1.7 1.35 7 1.35
1.8 1.253 6 1.253
1.9 1.17 6 1.17
2 1.099 5 1.099
2.1 1.036 5 1.036
2.2 0.9808 5 0.9808
2.3 0.9316 5 0.9316
2.4 0.8873 4 0.8873
2.5 0.8473 4 0.8473

А должно быть:
1.5 1.609 9 1.609
1.6 1.466 8 1.466
1.7 1.35 7 1.35
1.8 1.253 7 1.253
1.9 1.17 6 1.17
2 1.099 6 1.099
2.1 1.036 6 1.036
2.2 0.9808 5 0.9808
2.3 0.9315 5 0.9316
2.4 0.8873 5 0.8873
2.5 0.8473 5 0.8473

Т.е. не совпадает количество просуммированных членов ряда. Может быть ошибка не у меня, а в "Должно быть" ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru