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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
akiam
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 39
#1

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

31.01.2013, 04:25. Просмотров 240. Ответов 2
Метки нет (Все метки)

Вобщем вот программа.
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

Т.е. не совпадает количество просуммированных членов ряда. Может быть ошибка не у меня, а в "Должно быть" ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 04:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибку! (C++):

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Не могу найти ошибку - C++
Кусок программы. Нужно найти в файле необходимую услугу и записать её номер. У строки searching уже есть значение. Пример строки: Cвязь...

Не могу найти ошибку - C++
Задача: вывести элементы массива, которые повторяются ровно 2 раза #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; ...

Не могу найти ошибку - C++
Добрый день, вот простенькая задача: &quot;В одном шаге от счастья&quot; Вова купил билет в трамвае 13-го маршрута и сразу посчитал суммы...

Не могу найти ошибку - C++
Доброго времени суток, вообщем такое задание: В одномерном массиве,состоящем из n вещественных элементов вычислить: 1. Произведение...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 05:07 #2
попробуйте заменить
C++
1
summa=element=2/x;
на
C++
1
summa=floor((element=2/x)+0.5f);
akiam
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 39
31.01.2013, 09:01  [ТС] #3
второй столбец меняет значения
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 09:01
Привет! Вот еще темы с ответами:

Не могу найти ошибку - C++
Добрый день, программа не компилируется, не могу найти ошибку. Заранее спасибо. #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() ...

Не могу найти ошибку - C++
Добрый день! Третий день маюсь. Программа решает систему уравнений методом Гаусса. Программа разделена на две функции: в первой функции...

Не могу найти ошибку - C++
Доброго времени суток. На днях написал программу, в логике программы вроде все правильно и подсчеты идут тоже корректные. Но до завершения...

Не могу найти ошибку - C++
w-Слово.CustomAlphabet-Буквы на которые не заканчиваются слова. Не получается предпоследнюю букву вернуть(возвращает последнюю). string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru